将dataframe的内容写入.txt文件,每行一个文件?

时间:2015-02-07 00:27:47

标签: python python-2.7 pandas

我有一个带有nrows的双列数据框。

Col1  Col2
123   abc
456   def

我想遍历数据框并为每一行创建一个文本文件。第一列是文本文件名,第二列是文本文件内容。

结果:

  • 123.txt,内容为abc
  • 456.txt,内容为def

2 个答案:

答案 0 :(得分:1)

以下是使用pandas执行此操作的方法。即使它有点难看,它也能完成这项工作,并且会让你顺利进行。

import pandas as pd
df = pd.DataFrame({'food': ['eggs','eggs','ham','ham'],'co1':[20,19,20,21]})

for x in df.iterrows():
    #iterrows returns a tuple per record whihc you can unpack
    # X[0] is the index
    # X[1] is a tuple of the rows values so X[1][0] is the value of the first column etc.
    pd.DataFrame([x[1][1]]).to_csv(str(x[1][0])+".txt", header=False, index=False)

这会将文本文件保存在您的工作目录中。

答案 1 :(得分:0)

一个简单的基本python解决方案是(不使用PANDAS):

lines = ["123 abc","456 def"]

def writeToFile(line):
    words=line.split()
    f = open(words[0]+'.txt','wb')
    f.write(words[1])
    f.close()

map(writeToFile,lines)