使用 xlsxwriter 将文本文件数据迁移到 excel 未完全更新

Migrating text file data to excel using xlsxwriter is not updating completely

test.txt: 一个 25 12345 乙 90 67890 C 31 24680 D 89 45678

预期输出: A1 一个 A2 25 A3 12345 A4 B A5 90 A6 67890 ......

只有最后三个数据进入 excel

import xlsxwriter

workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

with open('test.txt', 'r') as f:
    for i in f.readlines():
        for j,k in enumerate(i.split()):
            worksheet.write('A'+str(j+1), k)
    workbook.close()

在内循环中,j 将始终是枚举 0,1,2,因此您重复写入单元格 A1A2A3.如果将结果打印到控制台,您可以自己看到:

A1 A
A2 25
A3 12345
A1 B
A2 90
A3 67890
A1 C
A2 31
A3 24680
A1 D
A2 89
A3 45678

您总是希望增加 write 的第一个参数中的数字,以便下一行被索引;要增加的值是拆分列表的长度(3 对于您当前的输入,但要确保我使用下面每一行的 实际 长度)。因为 Excel 从 1 开始计算行数,所以这个计数器也需要从 1 开始。这将起作用:

counter = 1
for i in f.readlines():
    for j,k in enumerate(i.split()):
         worksheet.write('A'+str(j+counter), k)
    counter += len(i.split())

就像您自己的代码和预期的输出一样,它只会填充第一列,输入中的每个值,忽略换行符。