首先,导入openpyxl库中的读取和新建文件包(比较官方的名称我没有查,就按照好理解的方向这样说),文中关于行和列的理解都是个人想法,可能有和读者不同之处。

先详细说怎么样读取单个excel文件,批量在后边写。

excel表格格式如下,需要弄清楚的就是excel文件路径,以及内部工作表的名称,两者均为字符串格式:

此处需要注意大小写的问题,严格按照下边代码中的大小写键入

os库用于后边批量处理

from openpyxl import load_workbook, Workbook   #读取=加载, 新建
import os

1、读取已存在的excel文件

path = r'E:\pythonTest\2021-12-31.xlsx'wb = load_workbook(path)
print(wb)

运行结果:

<openpyxl.workbook.workbook.Workbook object at 0x000002444BC60FD0>

显示一个对象的形式

根据文件格式,读取其中工作表的内容

sheet_005 = wb['0.05m']print(sheet_005)
print(type(sheet_005))

运行结果:

<Worksheet "0.05m">
<class 'openpyxl.worksheet.worksheet.Worksheet'>

此时,sheet_005是一个元组对象,那么要读取其中的数据(这里可能有其他的方式,我就直接写自己用过的,没有详查)需要对里边的数据进行定位,我因为处理的关系,按行读取和按列分别读取,以及读取二维的情况

按行读取:

rows = sheet_005['b1:j1']
#得到的内容是1行9列
for row in rows:for i in range(9):print(row[i].value)

运行结果:

45.3456
46.3456
47.3456
48.3456
49.3456
50.3456
51.3456
52.3456
53.3456

按列读取:

cols = sheet_005['a2:a10']
#得到的内容是9行1列
for col in cols:print(col[0].value)

运行结果:

23.5167
24.5167
25.5167
26.5167
27.5167
28.5167
29.5167
30.5167
31.5167

读取二维的情况:

path = r"E:\pythonTest\2021-12-31.xlsx"
wb = load_workbook(path)
sheet_005 = wb['0.05m']
data = sheet_005['b2:j10']
for d in data:for i in range(9):if d[i].value != None:print(d[i].value)

运行结果:

0.302119106054306
0.3005659878253937
0.2625385522842407
0.2840092778205872
0.3061999976634979
0.3017207086086273
0.3038829267024994
0.3220527768135071
0.3237947821617126
0.3207892179489136
0.3028714954853058
0.2637502551078796
0.2534836530685425
0.253666490316391
0.266710102558136
0.2634153366088867
0.2857251763343811
0.3227577209472656
0.3185969889163971
0.3055056631565094
0.2600562572479248
0.2565443217754364
0.2556202709674835
0.2537874281406403
0.2476959973573685
0.2596182227134705
0.2735748291015625
0.2842697501182556
0.2630136013031006
0.2532234787940979
0.2525502741336823
0.2542127370834351
0.2646780908107758
0.2624187767505646
0.2621198892593384
0.3370471298694611
0.3249744772911072
0.3106313049793243
0.2642513513565063
0.3019898533821106
0.2691900730133057
0.257877379655838
0.2709497213363647
0.2727532088756561
0.3150153458118439
0.3248605132102966
0.2938291728496552
0.2970251739025116
0.2867810130119324
0.3157626986503601
0.2825500667095184
0.2774896025657654
0.2862694561481476
0.2954988181591034
0.2895880043506622
0.2916149795055389
0.2997244298458099
0.299854189157486
0.3112888336181641
0.2700950503349304
0.254077821969986
0.2723859548568726
0.2887678444385529
0.2891480326652527
0.2959722280502319
0.3032049238681793
0.2998882830142975
0.2962991893291473
0.2498120218515396
0.257283478975296
0.3057393729686737
0.27692911028862
0.2761669456958771
0.2838139533996582
0.2868392765522003
0.2837753891944885
0.2908490598201752
0.2874066829681396
0.2941864132881165
0.2949732542037964

2、创建一个excel文件,并且将内容写入

new_path = r"E:\pythonTest\2022-12-08.xlsx"
new_wb = Workbook()
#新建一个sheet,title可以对sheet名称进行修改
new_sheet_005 = new_wb.create_sheet(title = '0.05m',index = 0)
new_sheet = new_wb.create_sheet(title='这是一个工作表', index = 1)
#可以对工作表中的内容写入
new_sheet_005['b3'] = '1'
#存储
new_wb.save(new_path)

运行结果:

3、批量对文件进行读取

这里就是将上文中 path 的值写到文件夹即可,利用 os 库中的 listdir() 函数对文件进行遍历,从而实现批量读取:

还有要注意的地方就是在遍历过程中,file 所代表的字符串只有文件名,但是 load_workbook() 函数要读取的是文件完整的目录,因此需要将 path 和 file 进行拼接,在这里注意 // 的转义问题。

path = r"E:\pythonTest"
for file in os.listdir(path):print(file)wb = load_workbook(path+'//'+file)  sheet_005 = wb['0.05m']print(sheet_005['b3'].value)

运行结果:

2021-12-31.xlsx
0.3207892179489136
2022-12-08.xlsx
1

批量写入

类似的操作,但是要考虑到根据文件的内容生成新的不同文件名,否则同名文件会覆盖

path = r"E:\pythonTest"for file in os.listdir(path):new_file_name = 'new' + file[0:10] + '.xlsx'new_wb = Workbook()  #此处index设置与前边有所不同new_sheet1 = new_wb.create_sheet(title='0.05m', index = 1)new_sheet2 = new_wb.create_sheet(title='这是一个工作表', index = 0)new_sheet1['d3'].value = 45for i in range(1,10):for j in range(1,10):new_sheet1[i][0].value = i*jnew_wb.save(path+'//'+new_file_name)

这里有一点我不太清楚,就是new_sheet1[i][0] 这里的0只能写0,我不太理解这里,但是够我用了,所以没有深究,如果有小伙伴看到这里能给我解答的话,不胜感谢。

运行结果:

python之批量读写excel文件相关推荐

  1. excel表格末尾添加一行_教你使用Python批量读写excel文件

    当面对成百上千个excel文件,需要重复读写时,你会不会很头大呢? 与其花费好几天去做这些繁琐无意义的操作,不如学学python如何批量读写excel文件,几分钟就能搞定一整天的活! 使用xlrd库读 ...

  2. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 Python使用openpyxl读取excel文件中数据 Python使用openpyxl往excel文件中写入数据 Python使用openpyx ...

  3. Python使用Pandas读写EXCEL文件教程

    https://www.daehub.com/archives/9463.html 教程 开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  ...

  4. python 使用pandas 读写excel文件

    现在本地创建一个excel表,以及两个sheet,具体数据如下: sheet1: sheet2: 读取excel文件 pandas.read_excel(io, sheet_name=0, heade ...

  5. Python读写Excel文件

    python如何读写excel文件 python读写excel的方式有很多,不同的模块在读写的方法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...

  6. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  7. python怎么读excelsheet_python3 excle(python怎么读写excel文件)

    python读取已经打开的3个word和excle文件的路径 用 win32com 操控 word和Excel就可以实现 咋样把python写入excle中 # 需安装 xlrd-0.9.2 和 xl ...

  8. python pandas读取excel-Python使用Pandas读写EXCEL文件教程

    欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  是微软出品的和款办公软 ...

  9. python处理excel教程实例-python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...

最新文章

  1. 【browser】chinese chrome shows as english
  2. Flask-sqlalchemy外键关系映射
  3. 批量删除java注释_怎样批量去掉java文件中的注释
  4. Perl 教学 Perl5中的引用(指针)
  5. 一次“内存泄露”引发的血案
  6. js导入,导出exel表格
  7. javascript --- [小练习]变量提升、优先级综合
  8. 安卓APP_ 控件(5)—— ProgressBar
  9. Business Component(BC)和Business Object(BO)
  10. C语言 程序代码编写规范
  11. bgb邻居关系建立模型_今日 Paper | 新闻推荐系统;多路编码;知识增强型预训练模型等...
  12. Python文件操作与matplotlib数据可视化案例一则
  13. android客户端日志,更新日志 - BugHD Android 客户端上线
  14. 计算机历史人物-随笔
  15. Java 使用谷歌翻译免费api,翻译文档
  16. 计算机网络期中考试总结反思,期中考试总结反思600字
  17. web项目上云_披荆斩棘向云端 — 职能业务上云踩坑实战
  18. 高性能`锁库存`/`释放库存`重构实战
  19. 【CSDN下载】下载热门资源一周精选
  20. 接口测试[PostMan]

热门文章

  1. 关于罗技M590鼠标蓝牙断线问题的解决方案
  2. html5如何利用rem实现自适应布局,使用Rem布局实现自适应
  3. 微博关系服务与 Redis 的故事
  4. 金属切削加工的基础知识
  5. linux制作电脑启动盘,Linux启动盘的制作Linux -电脑资料
  6. 美通企业周刊 | 中国领先消费科技50企业榜揭晓;雀巢注资3000万美元加速中国食品创新...
  7. 幻兽养成方案!我的宝宝我做主
  8. LeetCode解题记录本子
  9. 【杂谈】Win系统 计算机操作常用快捷键
  10. 超级电脑系统安装 无光驱 USB启动