python之批量读写excel文件

这篇具有很好参考价值的文章主要介绍了python之批量读写excel文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先,导入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>

显示一个对象的形式

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

python之批量读写excel文件

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)

运行结果: 

python之批量读写excel文件

 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 = 45
    for i in range(1,10):
        for j in range(1,10):
            new_sheet1[i][0].value = i*j
    new_wb.save(path+'//'+new_file_name)

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

运行结果:

python之批量读写excel文件python之批量读写excel文件文章来源地址https://www.toymoban.com/news/detail-432988.html

到了这里,关于python之批量读写excel文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python使用openpyxl添加图片到excel文件中

    图片只能保存在某个sheet页面中,因此首先打开sheet页面: 然后创建一个图片: 最后保存即可: 最后的效果如下:

    2024年02月22日
    浏览(50)
  • Python:使用openpyxl读取Excel文件转为json数据

    openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files 文档 https://openpyxl.readthedocs.io/en/stable/ https://pypi.org/project/openpyxl/ 安装 环境 读取文件示例:将Excel文件读取为json数据 有如下一个文件 data.xlsx 实现代码 输出读取的json数据 读写示例

    2024年02月15日
    浏览(73)
  • 微信小程序 -- 数据库数据excel文件批量导入

    一、excel文件批量导入数据到数据库 1.创建node.js函数upload,点击upload右键外部终端中安装类库 2.云函数代码 js代码

    2024年02月12日
    浏览(67)
  • Python读写EXCEL文件常用方法

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式。 用xlrd和xlwt进行excel读写; 用openpyxl进行excel读写; 用pandas进行excel读写; 为了方便演示,我这里新建了一个data.xls和data.xlsx文件,第一个工作表sheet1区域“A1:E5”的内容如下

    2024年02月11日
    浏览(44)
  • Python读写EXCEL文件常用方法大全

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式。 用xlrd和xlwt进行excel读写; 用openpyxl进行excel读写; 用pandas进行excel读写; 为了方便演示,我这里新建了一个data.xls和data.xlsx文件,第一个工作表sheet1区域“A1:E5”的内容如下

    2024年01月19日
    浏览(59)
  • Python批量导入图片到Word文件

    问题背景:2017年4月应华章公司邀请,翻译一本来自美国的Python入门教材,全书共750页,2018年4月完成翻译交稿,2018年9月责任编辑寄来样稿进行印刷前校对。经过半个月的检查和校对,又进行了一些小的修改和完善。为避免辛苦修改后的样稿被寄丢,也为了节省邮寄路上的时

    2023年04月16日
    浏览(82)
  • Python批量给excel文件加密

    有时候我们需要定期给公司外部发邮件,在自动化发邮件的时候需要对文件进行加密传输。本文和你一起来探索用python给单个文件和批量文件加密。    python自动化发邮件可参考【干货】用Python每天定时发送监控邮件。    调用win32com.client,需先要安装pypiwin32包。打开cm

    2024年02月12日
    浏览(38)
  • Python 读写 Excel 文件库推荐和使用教程

    Python 读写 Excel 文件的库总体看还是很多的, 各有其优缺点, 以下用一图总结各库的优缺点, 同时对整体友好的库重点介绍其使用教程。 库名称 .xls .xlsx 读取 写入 修改 保存 格式调整 插入图片 xlrd √ √ √ × × × × × xlwt √ × × √ √ √ √ √ xlutils √ × × √ √ √ × ×

    2024年02月11日
    浏览(44)
  • 用Python实现批量创建Excel文件

    小编简单写了一个批量创建Excel文件的实例 实例代码: 这段Python代码使用了 xlwings 库来操作Excel。 xlwings 是一个允许你从Python中读写Excel文件(.xlsx)的库,并且它还提供了很多其他的功能,如创建图表、执行宏等。 下面是代码的逐行解释: import xlwings as xw :导入 xlwings 库,

    2024年02月22日
    浏览(44)
  • Python 实现txt、excel、csv文件读写【附源码】

    前言 一、txt文件读写 二、excel文件读写 总结 本文介绍使用Python进行文件读写操作,包括txt文件、excel文件(xlsx、xls、csv) 编译器使用的是PyCharm read()                  # 一次性读取全部内容 readline()            # 读取第一行内容 readlines()          # 读取文本全部内

    2024年02月01日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包