首页 文章

Python:将列表项写入文本文件

提问于
浏览
0

我正在使用 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))

1 回答

  • 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)
    

相关问题