CSVファイルに書き込もうとしていますが、間に空白行があります。空白行を削除するにはどうすればよいですか?
import csv
b = open('test.csv', 'w')
a = csv.writer(b)
data = [['Me', 'You'],\
['293', '219'],\
['54', '13']]
a.writerows(data)
b.close()
csv
モジュールの使用方法は、いくつかの点でPython 3で変更されました (docs) 、少なくともファイルを開く方法に関して。とにかく、
import csv
with open('test.csv', 'w', newline='') as fp:
a = csv.writer(fp, delimiter=',')
data = [['Me', 'You'],
['293', '219'],
['54', '13']]
a.writerows(data)
動作するはずです。
WindowsでPython 2.xを使用している場合は、行open('test.csv', 'w')
をopen('test.csv', 'wb')
に変更する必要があります。つまり、ファイルを バイナリファイル として開く必要があります。
ただし、他の人が述べたように、ファイルインターフェイスはPython 3.xで変更されました。
import csv
hello = [['Me','You'],['293', '219'],['13','15']]
length = len(hello[0])
with open('test1.csv', 'wb') as testfile:
csv_writer = csv.writer(testfile)
for y in range(length):
csv_writer.writerow([x[y] for x in hello])
このような出力を生成します
Me You
293 219
13 15
お役に立てれば
Python 2の空白行を処理するには、ファイルをバイナリb
モードで開く必要があります。これは、Python 3では必要ありません。
したがって、open('test.csv', 'w')
をopen('test.csv', 'wb')
に変更します。
Pyexcel は、Python2とPython3の両方で問題なく動作します。
pipを使用した高速インストール:
pip install pyexcel
その後、わずか3行のコードとジョブが実行されます。
import pyexcel
data = [['Me', 'You'], ['293', '219'], ['54', '13']]
pyexcel.save_as(array = data, dest_file_name = 'csv_file_name.csv')