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

2022-09-21 14:07:11 浏览数 (1)

前面给大家介绍过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

0 人点赞