大規模なプロジェクトのテスト CSV ファイルを開いて、変換、操作、および保存しようとしています。これまでのところ、ファイルを開き、リストのリストに変換して操作しました。しかし、適切な形式の CSV ファイルとして保存できません。
現時点では保存されていますが、各列の区切りは' '
不明な理由のようです。私のデータセットは、販売された住宅価格/場所/日付に基づいているため、時間 (データと時間の間) と場所 (通りの名前、町などの間) に中断があるたびに、新しい列を取得します。空白を持たない他のすべてのデータ (価格、ID 番号など) はすべて同じ列に入れられ、データが台無しになります。
別の注意として、何らかの奇妙な理由で、私のcsvファイルは各行の間にいくつかの空の行を保持しています. 何が起こっているのかわかりません。
これは、コードの疑わしい部分です。
def write_new_file(lst, new_file):
'''(lst)->.CSV file
Takes a list and writes it into a .CSV file.
'''
writer = csv.writer(new_file, delimiter=',')
writer.writerows(lst)
new_file.close()
シェルでの私の出力は次のとおりです。
>>> doc[0]
['{AACDC187-2E3E-4705-BCF3-0001C4187ADD},', '208000,', '28/06/2013 00:00,', 'AL23HX,', 'F,', 'N,', 'L,', '17,', ',', 'TENNYSON ROAD,', ',', 'ST ALBANS,', 'ST ALBANS,', 'HERTFORDSHIRE,']
どんな助けでも大歓迎です!
編集:私は数週間ずっとプログラミングをしてきたので、私がばかだったらごめんなさい!
編集4:
csv.reader 関数を使用するようにコードを変更しました。これはうまく機能し、プログラムをはるかに小さくします。現在は次のようになっています。
#create an empty variable
doc= []
with open(file2, 'r') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
doc.append(row)
ここに私のシェル出力があります:
>>> doc[0]
['{AACDC187-2E3E-4705-BCF3-0001C4187ADD}', '208000', '28/06/2013 00:00', 'AL2 3HX', 'F', 'N', 'L', '17', '', 'TENNYSON ROAD', '', 'ST ALBANS', 'ST ALBANS', 'HERTFORDSHIRE', 'A']
しかし、私のCSV出力は同じです。列は、リスト項目を区切るコンマではなく、文字列内の空白に従って区切られています。そして、行の間にまだ空の行があります。
私の書く機能は変わりません。
最終編集:解決しました!最終的には、Python ではなく calc が台無しになりました。