有时候,由于保密原则,需要将一个Excel中,不同的内容给不同的人看。这样的话,就需要将Excel拆分成多个txt文件。下面将介绍一下,如果将如何使用python拆分Excel。示例如下
将每一行的第一列作为文件名,其余列作为文件内容
软件环境
windows 10(linux或者mac都可以)Python3.6(只要是python3 即可)使用到的python模块:openpyxl无需使用pycharm等专用软件,只要是文本编辑器即可,本人示例中使用的是nodepad++开始编程
安装第三方模块,openpyxl(dos中执行,使用豆瓣源,否则下载会特别慢),openpyxl是专门用来处理Excel(只能处理xlsx文件)的Python模块。pip install openpyxl -i /simple
导入要使用的模块,
import openpyxlfrom openpyxl.utils import get_column_letter
将Excel的工作簿实例化,Excel读写的操作对象是Excel的单元格。
my_excel = openpyxl.load_workbook('名单.xlsx')my_sheet = my_excel.get_sheet_by_name('收入表')
写入文件
for i in range(2, my_sheet.max_row + 1):#max_row:获取当前工作簿的最大列,由于python列表是右侧开区间,所以需要+1 filename_sheet = 'A' + str(i) #将第一列作为文件名 f = open(my_sheet[filename_sheet].value + '.txt', "a")#新建文件 for j in range(1, my_sheet.max_column + 1): #循环添加内容,max_column:获取最大行 title = my_sheet[get_column_letter(j) + str(1)].value #将第一行当做标题,value为获取单元格值的方法,如:sheet.['A1'].value content = my_sheet[get_column_letter(j) + str(i)].value #将其他行作为内容 f.write(str(title) + ':' + str(content) + '') #写入文件 f.close() #写入文件结束后,需要关闭
最后脚本如下