簡體   English   中英

使用 xlsxwriter 將文本文件數據遷移到 excel 未完全更新

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

test.txt:A 25 12345 B 90 67890 C 31 24680 D 89 45678

預期輸出:A1 A 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())

就像你自己的代碼和預期的輸出一樣,它所做的只是填充第一列,輸入中的每個值,忽略換行符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM