CSVファイルにデータがあり、特定のセルの内容を他のファイルに入れる必要があります。ここにcsvファイルの簡略版があります。データを特定のCSVセルから別のファイルに書き出します。
A;B;C;D
A1;B1;C1;D1
A2;B2;C2;D2
A3;B3;C3;D3
A4;B4;C4;D4
csvファイルは、好ましくはnumpyで2次元配列に変換する必要があります。その後、配列からのデータは他のいくつかのファイルに書き込まれます。ここに簡略化されたコードのスニペットがあります。
import numpy
table = numpy.genfromtxt('table.csv', delimiter=';', skip_header=1)
for row in range (4):
output = open('array %s.txt' %(row+1), 'w')
for clmn in range (4):
output.write('%s' %table[row][clmn])
output.close()
私は、配列内のデータを置くために適切な方法を見つけるstruggelingされています。どのようにこれが実現するか、私が作った間違いを見つけましたか?
編集:問題が見つかりました。 numpy
が正しくインストールされていません。 私はコードにいくつか微調整を加えなければなりませんでした。
import numpy
#get table size
table = numpy.genfromtxt('table.csv', delimiter=';')
rows, cols = table.shape
#get table data
table = numpy.recfromtxt('table.csv', delimiter=';', dtype=str)
#write table in different files
for row in range(rows):
output = open('array %s.txt' %row, 'w')
for clmn in range(cols):
output.write('%s\t' %table[row][clmn])
output.close()
これは新しいコードで、A2 B2 C2 D2
2.txt A1 B1 C1 D1
配列1.TXT A B C D
配列0.txt
配列を意図したとおり、それはファイルを出力します配列3.txt A3 B3 C3 D3
配列4.txt A4 B4 C4 D4
アーカイブにはどのような形式がありますか? – eyllanesc
このコードで何が問題になっていますか? btw 'output.close()'はループの内側にあるべきです –
アーカイブは、あるテキストの間にテーブルのデータを含んでいます。しかし、これは問題ではないので、これは私の質問とは無関係です。 問題は、出力ファイルが作成されないためにエラーが発生する可能性があることです。 –