如何将系列数据写入文件

How to write Series data into a file

我正在将数据写入文件。部分代码涉及将系列写入文件。我知道如何使用 to_csv 将系列简单地写入文件,但我在这里做的是写一堆行,然后我想显示系列的内容。我还没想好怎么办。

我试过简单地做类似的事情:

fileWrite= open("details.txt", "w")

fileWrite.write("This report is for todays data \n\n")
fileWrite.write("Please see the breakdown based on items sold \n\n")

fileWrite.write(df_fridge_grp)

这是我的数据系列:

fields = ['Date', 'Name', 'SoldItem']
df = pd.read_csv('data.csv', skipinitialspace=True, usecols=fields)
df_fridge = df.loc[(df['SoldItem'] == 'Fridge')]
df_fridge_grp = df_fridge.groupby(["Date", "Name"]).size()

这是我的数据框:

Dataframe is
Date     Name    SoldItem
15-Jul    Joe     TV
15-Jul    Joe     Fridge
15-Jul    Joe     Washing Machine
15-Jul    Joe     TV
15-Jul    Joe     Fridge
15-Jul    Mary    Chair
15-Jul    Mary    Fridge
16-Jul    Joe     Fridge
16-Jul    Joe     Fridge
16-Jul    Tim     Washing Machine
17-Jul    Joe     Washing Machine
17-Jul    Jimmy   Washing Machine
17-Jul    Joe     Washing Machine
17-Jul    Joe     Washing Machine

输出只是打印系列名称而不是实际内容:

This report is for todays data
Please see the breakdown based on items sold
df_fridge_grp

而不是:

This report is for todays data
Please see the breakdown based on items sold
Date      Name   Count
15-Jul     Joe       2
          Mary       1
16-Jul     Joe       2

你可能想用 to_string()

做点什么
print(df_fridge_grp.to_string())

或您的用例:

fileWrite.write(df_fridge_grp.to_string())

以下代码:

fileWrite.write(df_fridge_grp)

不是您 运行 得到的输出,否则您会得到 TypeError: write() argument must be str, not DataFrame。你可能做到了:

fileWrite.write("df_fridge_grp")

这不会存储数据帧,因为它只是一个字符串。正确的方法是获取数据帧的字符串表示并存储它。你可以这样做:

fileWrite.write(str(df_fridge_grp))
fileWrite.close()

并始终确保关闭您的文件!