当前位置: 首页 > news >正文

Python学习笔记:导入txt、xlsx文件并做简单函数处理

1.txt文件

        1.1路径

file_path = "E:\Python Project\temp.txt" 
with open(file_path) as f:content1 = f.read()

导入文件时,如果直接放文件绝对路径上去会报错,这是因为\P是转义字符

所以在绝对路径前面加r可以避免将引号内的内容识别成转义字符(在引号前加上f表示这是一个带有特殊格式的字符串,其中可以包含花括号{}及其中的表达式,其中{}内填充的就是表达式的值)

file_path = r"E:\Python Project\temp.txt" 
with open(file_path) as f:content1 = f.read()

或者可以直接使用相对路径

file_path = "temp.txt" 
with open(file_path) as f:content1 = f.read()

相对路径默认识别当前文件夹

        1.2文件读取

python读取文件可以采用

with open(file_path) as f:f.read()

 也可以写作,效果一样,当然open(file,'r')可以加上文件的读取属性

file_path = r"E:\Python Project\temp.txt"
f = open(file_path)

文件内容读取可以通过read、readline、readlines分别读取整个文件、一行、所有行并放在list中,之前读取过的内容后续不会再读出。

 2.xlsx文件

        2.1文件读取

可以使用panda库的excel_read()

import pandas
f = pandas.read_excel(r"E:\Python Project\1.xlsx")
print(f)

也可以直接使用xlrd库的open_workbook(),但是最新版本xlrd库删除了对xlsx的支持;

import xlrd
f = xlrd.open_workbook_xls(r"E:\Python Project\1.xlsx")

也可以使用openpyxl的load_workbook()

import openpyxl as xl
f = xl.load_workbook('1.xlsx')

3.练习:对文件数据进行简单的函数处理

xlsx文件中第一列和第二列数据的Pearson系数计算

import openpyxl
import pandas
import mathf = pandas.read_excel(r"E:\Python Project\1.xlsx")
data1 = f.values
print(type(data1))
sum_ans0 = 0
sum_ans1 = 0
for i in data1:sum_ans0 += i[0]sum_ans1 += i[1]
ave_ans0 = sum_ans0 / len(data1)
ave_ans1 = sum_ans1 / len(data1)
sum_final0 = 0
sum_final1 = 0
sum_final2 = 0
for temp_i in data1:sum_final0 += (temp_i[0] - ave_ans0) * (temp_i[1] - ave_ans1)sum_final1 += math.pow((temp_i[0] - ave_ans0), 2)sum_final2 += math.pow((temp_i[1] - ave_ans1), 2)
pearson = sum_final0/(math.sqrt(sum_final1) * math.sqrt(sum_final2))
print(f"Pearson={pearson}")

得到f后通过f.value得到数据的list,后续对list里面的数据进行遍历求解即可

通过openpyxl中sheet.cell也可以实现遍历

import openpyxl as xl
f = xl.load_workbook('1.xlsx')
sheet = f['Sheet1']
cell = sheet.cell(1, 1)
print(cell.value)
list_ans = []
for row in range(1, sheet.max_row + 1):list_ans.append([sheet.cell(row, 1).value, sheet.cell(row, 2).value])

        3.1 二维list的求和优化

上面这个练习涉及到了二维list需要对每个list的第一个数字和第二个数字分别对应求和

         3.1.1 for遍历

最简单的方式是直接for遍历list

import openpyxl
import pandas
import mathf = pandas.read_excel(r"E:\Python Project\1.xlsx")
data1 = f.values
print(type(data1))
sum_ans0 = 0
sum_ans1 = 0
for i in data1:sum_ans0 += i[0]sum_ans1 += i[1]

        3.1.2sum

 对多维度的list直接应用sum可以分别对应求和

import openpyxl
import pandas
import mathf = pandas.read_excel(r"E:\Python Project\1.xlsx")
data1 = f.values
print(type(data1))
sum_ans1 = sum(data1)

        3.2作图Barchart

import openpyxl as xl
from openpyxl.chart import BarChart, Reference
f = xl.load_workbook('1.xlsx')
sheet = f['Sheet1']
cell = sheet.cell(1, 1)
print(cell.value)
list_ans = []
for row in range(1, sheet.max_row + 1):list_ans.append([sheet.cell(row, 1).value, sheet.cell(row, 2).value])
plot_data = Reference(sheet, min_col=1, max_col=2, min_row=1, max_row=sheet.max_row)
chart = BarChart()
chart.add_data(plot_data)
sheet.add_chart(chart, 'c1')
f.save('1.xlsx')

相关文章:

Python学习笔记:导入txt、xlsx文件并做简单函数处理

1.txt文件 1.1路径 file_path "E:\Python Project\temp.txt" with open(file_path) as f:content1 f.read() 导入文件时,如果直接放文件绝对路径上去会报错,这是因为\P是转义字符 所以在绝对路径前面加r可以避免将引号内的内容识别成转义…...

uniapp 轮播列表左右滑动,滑动到中间放大

html <!-- 轮播 --><view class"heade"><swiper class"swiper" display-multiple-items3 circulartrue previous-margin1rpxnext-margin1rpx current0 change"swiperChange" ><block v-for"(item,index) in list"…...

5. 自动求导

5.1 向量链式法则 ① 例子1是一个线性回归的例子&#xff0c;如下图所示。 5.2 自动求导 5.3 计算图 5.4 两种模型 ① b是之前计算的结果&#xff0c;是一个已知的值。 5.5 复杂度 5.6 自动求导 import torch x torch.arange(4.0) x 结果&#xff1a; ② 在外面计算y关于x的…...

【IEEE会议】 第三届智能通信与计算国际学术会议(ICC 2023)

第三届智能通信与计算国际学术会议 2023 3rd International Conference on Intelligent Communications and Computing 第三届智能通信与计算国际学术会议&#xff08;ICC 2023&#xff09;定于2023年11月24-26日在中国南昌隆重举行。会议旨在为从事智能通信与计算研究的专家学…...

巨人互动|Facebook海外户Facebook风控规则有什么

Facebook是全球最大的社交媒体平台之一&#xff0c;每天有数十亿的用户在其上发布、分享和交流各种内容。为了维护平台的安全性和用户体验&#xff0c;Facebook制定了严格的风控规则来监测和处理违规行为。下面小编讲讲Facebook风控规则。 巨人互动|Google海外户&Google Ad…...

pip命令来查看当前激活的虚拟环境

要查看已安装的虚拟环境&#xff0c;您可以使用以下命令&#xff1a; pip freeze该命令将列出所有已安装的包及其版本信息。在虚拟环境中运行时&#xff0c;它将仅显示该虚拟环境中安装的包。 这将列出所有已创建的虚拟环境以及当前激活的环境。 python -m venv list...

STL stack 和 queue

文章目录 一、stack 类和 queue 类的模拟实现 stack 只允许在一端进行插入删除&#xff0c;是一个后进先出(LIFO)的结构&#xff0c;可以存储任意类型 queue 只允许在一端进行插入&#xff0c;另一端进行删除&#xff0c;是一个先进先出(FIFO)的结构&#xff0c;可以存储任意类…...

阈值回归模型(Threshold Regression Model)及R实现

阈值回归模型是一类回归模型&#xff0c;其中预测变量与结果以阈值依赖的方式相关联。通过引入一个阈值参数&#xff08;也称为转折点&#xff09;&#xff0c;阈值回归模型提供了一种简单而优雅、可解释的方法来建立结果和预测变量之间某些非线性关系的模型。在生物医学领域中…...

无人机通信协议MAVLink简介

Micro Air Vehicle Link(简称MAVLink)用于无人系统(例如,机器人、无人机、无人车、无人船和无人潜航器)。它定义了一组无人系统和地面站之间的消息交换规则。此协议广泛用于无人驾驶系统中,特别是ArduPilot和PX4无人驾驶系统,MAVLink协议提供了强大的功能,不仅用于监视…...

【办公自动化】用Python批量从上市公司年报中获取主要业务信息

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

【sizeof()的使用方式】简洁明了初识C语言

sizeof&#xff08;&#xff09;介绍 sizeof其实仅仅只是一个操作符&#xff0c;我们要注意它并不是一个函数&#xff0c;他就类似与常见的、、-......的操作符&#xff0c;并且sizeof是一个单目操作符。sizeof实际上是获取了数据在内存中所占用的存储空间&#xff0c;以字节为…...

10. 正则表达式匹配

10. 正则表达式匹配 class IsMatch:"""10. 正则表达式匹配https://leetcode.cn/problems/regular-expression-matching/description/"""def solution(self, s: str, p: str) -> bool:m, n len(s), len(p)memo [[-1] * n for _ in range(m)]…...

[Unity]GPU Instancing 无效的原因

参考&#xff1a; GPU Instancing 深入浅出-基础篇&#xff08;1&#xff09; - 知乎 Unity GPU Instance踩坑记录_为什么gpuinstance画不出图像_拯救人类的技术宅的博客-CSDN博客 GPUInstancing在真机上失效问题_安卓手机 unity gpu instancing报错__hiJ的博客-CSDN博客 补…...

2023 年前端编程 NodeJs 包管理工具 npm 安装和使用详细介绍

npm 基本概述 npm is the world’s largest software registry. Open source developers from every continent use npm to share and borrow packages, and many organizations use npm to manage private development as well. npm 官方网站&#xff1a;https://www.npmjs.…...

ptmalloc源码分析 - Top chunk的扩容函数sysmalloc实现(09)

目录 一、sysmalloc函数基本分配逻辑 二、强制try_mmap分配方式 三、非主分配区分配的实现 1. 设置老的Top chunk的参数 2. 尝试使用grow_heap函数 3. 尝试使用new_heap函数 4. 尝试使用try_mmap方式 四、主分配区分配的实现 1. 设置Top扩容的size值 2. brk分配成功的…...

[BJDCTF2020]ZJCTF,不过如此 preg_replace /e模式漏洞

目录 preg_replace的/e模式 为什么要变为 {${phpinfo()}} 另一个方法 版本 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo &qu…...

C++day4

1、仿照string类&#xff0c;完成myString 类 #include <iostream> #include <cstring>using namespace std; class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度public://无参构造myString():size(10…...

【LeetCode-简单题】541. 反转字符串 II

文章目录 题目方法一&#xff1a;双指针 题目 方法一&#xff1a;双指针 题目的意思&#xff1a; 通俗一点说&#xff0c;每隔k个反转k个&#xff0c;末尾不够k个时全部反转&#xff1b; 需要注意右边界的取值 int r Math.min(l k -1,n-1);//取右边界与n-1的最小值 确定边界…...

Linux服务使用宝塔面板搭建网站,并发布公网访问

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 前言 宝塔面板作为简单好用的服务器运维管理面板&#xff0c;它支持Linux/Windows系统&#xff0c;我们可用它来一键配置LAMP/LNMP环境、网站、数据库、FTP等&…...

代码随想录算法训练营19期第48天

198.打家劫舍 视频讲解&#xff1a;动态规划&#xff0c;偷不偷这个房间呢&#xff1f;| LeetCode&#xff1a;198.打家劫舍_哔哩哔哩_bilibili 代码随想录 初步思路&#xff1a;动态规划。 总结&#xff1a; dp[i]&#xff1a;考虑下标i&#xff08;包括i&#xff09…...

ChatBI 开源产品实战解析:从语义层到Agent,如何选择你的AI数据助手?

1. 为什么企业需要AI数据助手&#xff1f; 想象一下这个场景&#xff1a;市场部的小王需要统计上季度各区域的销售数据&#xff0c;他对着Excel表格里密密麻麻的数字发愁&#xff0c;不得不找IT部门帮忙写SQL查询。三天后拿到数据时&#xff0c;业务窗口期已经错过——这是很多…...

XCZU67DR的PS和PL怎么协同干活?一个案例讲透ARM核与FPGA联动处理高速ADC数据流

XCZU67DR异构计算实战&#xff1a;ARM核与FPGA协同处理5.9G ADC数据流的架构设计 在当今信号处理领域&#xff0c;实时处理高速ADC数据流已成为雷达、通信和医疗成像等应用的核心需求。当采样率攀升至5.9G级别时&#xff0c;传统CPU或FPGA单独处理的架构往往捉襟见肘。这正是Xi…...

从零搭建AI办公助手:OpenClaw+百川2-13B-4bits七日实践计划

从零搭建AI办公助手&#xff1a;OpenClaw百川2-13B-4bits七日实践计划 1. 为什么选择这个组合&#xff1f; 去年冬天&#xff0c;当我第一次听说OpenClaw这个开源自动化框架时&#xff0c;内心是充满怀疑的。作为一个长期被各种"智能助手"忽悠的技术从业者&#xf…...

PHP 8.5 升级生存指南:避免凌晨两点回滚的检查清单

定目标版本&#xff0c;定义内部支持策略在动 CI 或 Composer 之前&#xff0c;先回答一个问题&#xff1a;在你的组织里&#xff0c;这次升级"完成"意味着什么&#xff1f;确定目标和截止日期PHP 分支有两年的活跃支持&#xff0c;然后是两年的安全修复。官方支持表…...

ANARCI抗体序列分析工具:从入门到精通的专业指南

ANARCI抗体序列分析工具&#xff1a;从入门到精通的专业指南 【免费下载链接】ANARCI Antibody Numbering and Antigen Receptor ClassIfication 项目地址: https://gitcode.com/gh_mirrors/an/ANARCI ANARCI&#xff08;Antibody Numbering and Antigen Receptor Class…...

开源解决方案:企业零代码条码生成的降本实践指南

开源解决方案&#xff1a;企业零代码条码生成的降本实践指南 【免费下载链接】librebarcode Libre Barcode: barcode fonts for various barcode standards. 项目地址: https://gitcode.com/gh_mirrors/li/librebarcode 一、条码管理的隐性成本陷阱&#xff1a;中小企业…...

4步攻克Python代码执行可视化:开发者调试效率提升指南

4步攻克Python代码执行可视化&#xff1a;开发者调试效率提升指南 【免费下载链接】viztracer VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution. 项目地址: https://gitcode.com/gh_mirrors/vi/vizt…...

LongCat-Image-Editn部署案例:中小企业低成本AI修图方案,替代Photoshop高频操作

LongCat-Image-Editn部署案例&#xff1a;中小企业低成本AI修图方案&#xff0c;替代Photoshop高频操作 重要提示&#xff1a;本文所有操作均在合规合法的网络环境下进行&#xff0c;所有技术方案均符合相关法律法规要求。 1. 引言&#xff1a;中小企业修图痛点与解决方案 对于…...

AB Download Manager终极指南:告别杂乱下载,3步打造高效下载工作流

AB Download Manager终极指南&#xff1a;告别杂乱下载&#xff0c;3步打造高效下载工作流 【免费下载链接】ab-download-manager A Download Manager that speeds up your downloads 项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager 还在为下载…...

从“连连看”到DFA最小化:一个游戏化思路帮你彻底理解状态等价

从“连连看”到DFA最小化&#xff1a;用游戏化思维破解编译原理难题 编译原理作为计算机科学的核心课程之一&#xff0c;常常让初学者望而生畏。特别是当教材开始讨论"确定性有限自动机&#xff08;DFA&#xff09;最小化"这类概念时&#xff0c;那些抽象的状态转换图…...