如何用python读取excel多行多列,python如何获得excel列表行数

2022年 10月 20日 发表评论
腾讯云618会场:点此直达 阿里云618会场:点此直达
免费/便宜/高性价比服务器汇总入口(已更新):点此直达
1. 提出需求

这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景。其实从下图中已经可以很明确的看出别人的需求了,我这里就不用在赘述了,下面直接上思路吧!

2. 解题思路

为了让大家能够快速学会,我这里会将问题拆解为各个小部分,也希望能够帮助到大家。
1)导入相关库

import pandas as pdfrom openpyxl import load_workbookfrom openpyxl import Workbookimport os

2)获取文件的路径

path = os.getcwd()print(path)

结果如下:

3)遍历文件夹,获取文件夹下的文件(包括文件夹和文件)

for path,dirs,files in os.walk(path): print(files)

结果如下:

4)筛选出以.xlsx结尾的Excel表格

tables = []path = os.getcwd()for path,dirs,files in os.walk(path): for i in files: if i.split(".")[1] == "xlsx": tables.append(i)tables

结果如下:

5)组织数据,便于后续写入到Excel中

这里特别说明一点,组织好的数据应该是一个列表嵌套,内层的每一个列表,就是Excel表格中的每一行。

final_data = []for table in tables: lis = [] wb = load_workbook(table) sheet = wb[wb.sheetnames[0]] max_row = sheet.max_row lis.append(table) lis.append(max_row) final_data.append(lis)final_data

结果如下:

6)新建一个Excel表格,并循环插入数据

new_wb = Workbook()sheet = new_wb.activesheet.title = "最终数据"sheet.append(["文件名 ","行数"])for row in final_data: sheet.append(row)new_wb.save(filename="结果.xlsx")

结果如下:

3. 完整代码

为了文章的完整性,我在文章最后放上我的代码。但是限于文章篇幅,最后我只粘贴一张图片,详细代码,大家可以去文末获取。

获取本文完整代码和用到的素材!
数据分析与统计学之美:
链接:https://pan.baidu.com/s/1shAk-jdSn7nb55GXZpnXpg

提取码:pi1z

参考链接 :
Python+os+openpyxl 批量获取Excel的文件名和最大行数
:https://mp.weixin.qq.com/s/VvKT7A0cIt69kbdGDQ8xLw

37949617

腾讯云618活动:点此领取】8888元代金券,附云服务器价格表,2核2G4M轻量应用服务器99元1年,新老用户都可以买,可以享受1次续费99元一年、135元15个月、三年560元,MySQL云数据库59元1年起,2核2G3M配置82元1年,2核4G5M配置188元一年、3年900元,4核8G12M轻量服务器880元15个月,8核16G配置1890元15个月,更多16核32G28M带宽和云服务器CVM标准型S5、GPU服务器、CVM标准型SA2租用优惠价格如下,可以 点此进入最新活动页 查看当前最新的优惠券和活动信息。 腾讯云首购便宜续费贵,点击前往 【爆品专区】选择3年/5年,免得续费贵;首购便宜升级贵,建议 点击 选择8核16G/16核32G配置高的服务器。 阿里云618活动:点击领取】5亿上云补贴和2088元满减代金券,阿里云服务器租用费用618活动最新价格表【点击了解】,最便宜轻量应用服务器2核2G3M带宽82元1年,ECS云服务器2核2G3M带宽99元一年,ECS u1实例2核4G5M带宽优惠价格199元一年,香港30M带宽轻量服务器24元1个月、288元一年,4核8G服务器706元一年,ECS云服务器4核16G10M带宽30元1个月、90元3个月,云服务器8核32G10M带宽109元1个月、327元3个月。 腾讯云老用户享新人优惠的方法:用Qq登录、1人可注册3个新账号/用家人朋友的身份注册新号(点击注册新账号)。
小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: