如何从pandas(Python)DataFrame导出每一行到单独的.txt文件?

时间:2015-11-24 15:30:21

标签: python pandas

我正在尝试导出一个结构如下的pandas DataFrame:

  1. 2列,一列是客户ID,另一列是包含过去一个月内购买的所有商品的文字字符串。

  2. 每行代表一位客户。

  3. 我想使用pandas将每一行导出到单独的文本文件中。

    我是Python的新手,非常感谢任何见解。

2 个答案:

答案 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',...等。每个文件都包含一行数据框。