前面给大家介绍过python让繁琐工作自动化,以及Python轻松处理Excel。今天我们来给大家举个具体的例子,如何使用python保存Excel中每个sheet内容为txt。我们知道如果一个Excel文件有多个sheets,你另存为文本文件的时候,默认只会保存当前这一个sheet的内容。如果你想把每个sheet中的内容都另存为txt文件,这个时候就比较繁琐了。sheet数比较少的时候,你手动做一做也还行,如果有十几个sheets,比如一年12个月份的销售情况,每个月份一张sheet,这个时候你就需要操作12次。如果连续统计了十几年的数据,这个时候可能就要操作上百次了。这个时候,懂一点编程,就会让你事半功倍,得心应手。
废话不多说,我们直接上代码。这里举例的Excel文件有四张sheets,分别是东,南,西, 北四个区的销售情况。遇到更多的sheets,处理方法是一样的。
#加载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文件
参考资料:
为方便大家交流学习,小编为大家准备了本书的pdf版本,参考下文获取
如果喜欢纸质版也可以购买一本,当做工具书,需要的时候随手翻一下。
点击获取“Region wise Sales Data.xlsx”文件
网友评论