我正在尝试导出一个结构如下的pandas DataFrame:
2列,一列是客户ID,另一列是包含过去一个月内购买的所有商品的文字字符串。
每行代表一位客户。
我想使用pandas将每一行导出到单独的文本文件中。
我是Python的新手,非常感谢任何见解。
答案 0 :(得分:2)
您可以尝试groupby
您的数据,然后使用功能to_csv。我省略了参数index=False
的索引。
print df
# id item
#0 1 item1
#1 1 item1
#2 1 item1
#3 2 item2
#4 2 item2
#5 3 item3
for name, group in df.groupby('id'):
group.to_csv(str(name) + '.txt', index=False)
答案 1 :(得分:1)
您应该使用iterrows来迭代数据框的每一行。然后只需将其写入新文件即可。
示例代码如下所示:
d = your_pandas_dataframe
file = 'file{}.txt'
n = 0 # to number the files
for row in d.iterrows():
with open(file.format(n), 'w') as f:
f.write(str(row))
n += 1
它会生成' file0.txt',' file1.txt',...等。每个文件都包含一行数据框。