我使用xlrd
将相当大的Excel文件中的一列内容写入单独的文本文件中,该列中的每一行都有一个文本文件。总的来说,我在列中有1312行,这意味着我希望获得1312个文本文件。
这应该是微不足道的。我管理得很好,可以将colum中的所有单个Excel单元格保存到1312项的Python列表中。但由于某种原因,当我运行代码时,它只将1312个列表项中的619个复制到文本文件中。我没有收到错误消息,代码编译成功,它只是拒绝创建剩余的文件。它总是创建619个文件,从不会更多,永远不会更少。
这是我的代码(date
用于命名日期之后的文件,这是Excel文件中的另一列。我让datelist
检查是否可能没有保存该部分,但它是):
import xlrd
import os
path = r'C:\Users\data'
file = "data.xlsx"
os.chdir(path)
book = xlrd.open_workbook(file)
sheet = book.sheet_by_index(0)
contentlist=[]
datelist=[]
for row in sheet.get_rows():
date = str(row[5].value)
datelist.append(date)
content = str(row[7].value)
contentlist.append(content)
for item in datelist:
filename = item + ".txt"
for item in contentlist:
with open(filename, 'w', encoding='utf-8') as f:
f.write(str(item))
答案 0 :(得分:0)
该代码看起来完全错误。
我猜你的意思是:
for row in sheet.get_rows():
name, content = str(row[5].value), str(row[7].value)
with open(name + ".txt", 'w', encoding='utf-8') as f:
f.write(content)