将数据帧的每一行写入一个新的文本文件-pythonic方式

将数据帧的每一行写入一个新的文本文件-pythonic方式,python,pandas,rows,Python,Pandas,Rows,我试图在谷歌上搜索是否有办法逐行解析熊猫数据帧,并将每一行的内容写入一个新的文本文件。我的dataframe由一个名为Reviews的列组成 我想对电影评论做一些情绪分析,我需要每个评论都放在一个单独的文本文件中。有人能帮我吗 它仍然效率低下,但既然需要,这里有一个可能的解决方案 import pandas as pd from io import StringIO data=""" column1 column2 c1 c2 c3 c4 c5 c6 """ df = pd.read_cs

我试图在谷歌上搜索是否有办法逐行解析熊猫数据帧,并将每一行的内容写入一个新的文本文件。我的dataframe由一个名为Reviews的列组成


我想对电影评论做一些情绪分析,我需要每个评论都放在一个单独的文本文件中。有人能帮我吗

它仍然效率低下,但既然需要,这里有一个可能的解决方案

import pandas as pd
from io import StringIO

data="""
column1 column2
c1 c2
c3 c4
c5 c6
"""

df = pd.read_csv(StringIO(data), delimiter='\s+')

i=0
for row in df.values:
    filename = 'testdir/review{}.csv'.format(i)
    row.tofile(filename, sep=",", format="%s")
    i+=1

这将把值作为数组,并将数据保存到名为
review0.csv
review1.csv
的csv文件中。。。另一个解决方案是在循环中使用并指定

我已经写了类似的东西,它可以工作。无论如何,谢谢你们的支持

for index, row in p.iterrows():
    if i > len(p):
       break
    else:
       f = open(str(i)+'.txt', 'w')
       f.write(row[0])
       f.close()
       i+=1

其中p是一个数据帧。

这里有另一种方法。如果目标文件夹不存在,则会创建该文件夹

import pandas as pd
from pathlib import Path

root_location = Path("/my/root/path")
os.makedirs(root_location, exist_ok=True)
df = pd.read_csv(my_csv) # for example

for index, row in df.iterrows():
    with open(root_location / (str(row["file_name"]) + ".txt"), "w") as f:
        f.write(str(row["file_contents"]))

这将是非常低效的,它的目的是什么?只是执行分类。我的要求是,在每次写新行时,都要创建一个文件名变量,然后用
w
参数打开该文件名。您能建议将数据帧中的数据写入文本文件的格式吗@RNar我想知道这件事已经有一段时间了。“使用csv”可以吗?我不建议这样做。因为你想为每一行写一个新文件,迭代每一行,然后像
f=open(filename,'w')
然后
f.write(row)
之类的东西。只需确保每次都更改
文件名
。对于收到Unicode错误的任何其他人:将f=open(str(i)+'.txt',w')更改为f=open(str(i)+'.txt',w',encoding='utf-8')