2016-06-20 5 views
1

私は、次の形式でCSVを持っている:私は(編集済み)してみてください行ごとに1つのファイルでcsvの内容を.txtファイルに書き込みますか?

0.txt -> Hello 
1.txt -> Hi 
2.txt -> GoodDay 

0 | Hello 
1 | Hi 
2 | GoodDay 

私はテキストファイルに各行をコピーする必要があり、その出力は次のようになります

df=pd.read_csv('result.csv') 
for x in df.iterrows(): 
    pd.df([x[1][1]]).to_csv(str(x[1][0])+".txt", header=False, index=False) 

私はPythonとPandasを使用しています。

+0

タグは一致しているようですが、言語とモジュールの選択肢はよく見えます。しかし、あなたが試したコードがありません(すでにPythonとPandasを使用しています...-))。質問に追加してください。お手伝いできます。ありがとう。 – Dilettant

答えて

1

まずvaluesによってndarrayに変換してからtofileを使用します。read_csv

for row in df.values: 
    #print row 
    row[1:].tofile(str(row[0])+'.txt', sep="\t", format="%s") 

ソリューション:

import pandas as pd 
import io 

temp=u""" 
0|Hello 
1|Hi 
2|GoodDay""" 
#after testing replace io.StringIO(temp) to filename 
df = pd.read_csv(io.StringIO(temp), sep="|", header=None) 
print (df) 
    0  1 
0 0 Hello 
1 1  Hi 
2 2 GoodDay 

for row in df.values: 
    #print row 
    row[1:].tofile(str(row[0])+'.txt', sep="\t", format="%s") 

はEDIT:iterrowsto_csv

Anbotherソリューション、それが空に追加それぞれの行はtxtファイル:

for _, s in df.iterrows(): 
    s.iloc[1:].to_csv(str(s.iloc[0]) + '.txt', index=False, header=False) 
+0

ありがとう!!魅力のように動作します –

+0

私の答えが役に立ったら、[同意する](http://meta.stackexchange.com/a/5235/295067)を忘れないでください。それから、upvoteもできます - マークを受け入れる上に '0'の上の小さな三角形をクリックしてください。ありがとう。 – jezrael

+0

'accept'を忘れないでください。 – jezrael

関連する問題