前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python保存Excel中每个sheet内容为txt

python保存Excel中每个sheet内容为txt

作者头像
生信交流平台
发布2022-09-21 14:07:11
1.1K0
发布2022-09-21 14:07:11
举报
文章被收录于专栏:用户7627119的专栏

前面给大家介绍过python让繁琐工作自动化,以及Python轻松处理Excel。今天我们来给大家举个具体的例子,如何使用python保存Excel中每个sheet内容为txt。我们知道如果一个Excel文件有多个sheets,你另存为文本文件的时候,默认只会保存当前这一个sheet的内容。如果你想把每个sheet中的内容都另存为txt文件,这个时候就比较繁琐了。sheet数比较少的时候,你手动做一做也还行,如果有十几个sheets,比如一年12个月份的销售情况,每个月份一张sheet,这个时候你就需要操作12次。如果连续统计了十几年的数据,这个时候可能就要操作上百次了。这个时候,懂一点编程,就会让你事半功倍,得心应手。

废话不多说,我们直接上代码。这里举例的Excel文件有四张sheets,分别是东,南,西, 北四个区的销售情况。遇到更多的sheets,处理方法是一样的。

代码语言:javascript
复制
#加载openpyxl库
import openpyxl

#打开Excel文件,这个文件有4个sheet,分别为东,南,西, 北四个区的销售情况
wb = openpyxl.load_workbook('Region wise Sales Data.xlsx')

#循环来读取每一个sheet中的内容
#写到对应的东,南,西, 北四个txt文件中
for sheet in wb.sheetnames:
    #生成一个以sheet名字命名的txt文件
    file = open(sheet + '.txt', 'w')
    #打开对应的sheet
    ws = wb[sheet]
    #循环来读取每一个cell中的内容
    for i in range(1, ws.max_row + 1):
        for j in range(1, ws.max_column + 1):
            #如果cell中的内容为None,那么写到txt中的时候用空来代替
            if ws.cell(i, j).value is None:
                content = ""
            #如果cell中有内容,将其转换成string写到txt中
            else:
                content = str(ws.cell(i, j).value)
            #如果是第一列那么前面没有制表符分隔
            if j == 1:
                file.write(content)
            #否者内容前面加上一个制表符分隔
            else:
                file.write("\t" + content)
        #每一行写完,换行
        file.write("\n")
    #关掉txt文件
    file.close()

运行完我们会得到四个txt文件

后台留言“Excel”获取Region wise Sales Data.xlsx文件。

参考资料:

1.python让繁琐工作自动化

2.Python轻松处理Excel

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档