在 excel 工作表中保存 .txt 数据

save .txt data in excel worksheet

我想从 .txt 文件中提取数据并将其存储在 excel 工作表中。 它似乎可以工作,但脚本不会保存所有数据。 这是我的代码:

def save_excel(filename, date, item, price, counter):
    
    workbook = xlsxwriter.Workbook('Ausgabenliste.xlsx')
    worksheet = workbook.add_worksheet(filename)

    #write header
    worksheet.write(0, 0, "Datum")     
    worksheet.write(0, 1, "Einkauf")     
    worksheet.write(0, 2, "Preis")  

    worksheet.write(counter, 0, date)    
    worksheet.write(counter, 1, item)  
    worksheet.write(counter, 2, price) 

    workbook.close()   

with open (filename) as f:
    lines = f.readlines()
    print(lines)
    counter = 1
    
    for line in lines:
        l=line.split()
        a = l [-3]
        b = l [-2]
        c = l [-1]
        """print(l)
        print(a)
        print(b)
        print(c)
        print(counter)"""
        save_excel(filename,a, b, c, counter)
        counter += 1

.txt 文件包含以下信息:

02.09.2020 Pizza 1,50
02.09.2020 Pizza 1,50
02.09.2020 Nussschnecke 2,05
02.09.2020 jlkjlsdf 546

输出如下所示:

enter image description here

这是一个完全菜鸟的问题。我只是不明白为什么中间的信息会丢失。

非常感谢。

这可以通过 pandas 轻松实现:

import pandas as pd
df = pd.read_csv(filename, sep=" ", columns = ['Datum','Einkauf', 'Preis'])
df.to_excel('Ausgabenliste.xlsx', sheet_name=filename,index=False)