Pandas阅读CSV并发送到Excel一个条目后

o3imoua4  于 2023-11-14  发布在  其他
关注(0)|答案(2)|浏览(101)

该程序应该通过tkinter小部件获取用户数据,然后将数据发送到csv文件。csv文件被读取并转换为发送到Excel的dataFrame。该程序工作正常,只是它总是落后于当前的一个条目。如果我输入5个条目,只有4个显示在Excel中。
下面是一个方法的代码片段,当按下一个按钮时,将数据发送到csv,然后发送到Excel。

def enterbtn(df:pd.DataFrame):
    date = dateEntry.get()
    temperature = tempEntry.get()
    x = open('storage.csv', 'a')
    writer = csv.writer(x)
    row = [date,temperature]
    writer.writerow(row)
    df = pd.read_csv("storage.csv")
    df.to_excel('data.xlsx', sheet_name='Sheet1')
    #window.destroy()
    print(df)

字符串
我试图做一个单独的方法发送到Excel,但它通过一个错误.

uqzxnwby

uqzxnwby1#

为什么你需要保存临时.csv文件?你能做一些像下面这样的事情吗?

def enterbtn(df:pd.DataFrame):
    date = dateEntry.get()
    temperature = tempEntry.get()
    df.loc[len(df.index)] = [date, temperature] 
    df.to_excel('data.xlsx', sheet_name='Sheet1')
    #window.destroy()
    print(df)

字符串

p8h8hvxi

p8h8hvxi2#

在阅读CSV文件之前,您需要关闭CSV文件以使更改生效:

def enterbtn(df:pd.DataFrame):
    date = dateEntry.get()
    temperature = tempEntry.get()
    x = open('storage.csv', 'a')
    writer = csv.writer(x)
    row = [date,temperature]
    writer.writerow(row)
    x.close()  # close the file to save the change
    df = pd.read_csv("storage.csv")
    df.to_excel('data.xlsx', sheet_name='Sheet1')
    #window.destroy()
    print(df)

字符串

相关问题