Я пытаюсь записать в 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 файл, но между ними есть пробелы. Как удалить пустые строки?
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)
должен работать.
Если вы используете Python 2.x для Windows, вам нужно изменить свою линию 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
Надеюсь, что это поможет
Вам нужно открыть файл в двоичном режиме b
, чтобы позаботиться о пустых строках в Python 2. Это не требуется в Python 3.
Итак, измените open('test.csv', 'w')
на open('test.csv', 'wb')
.
Pyexcel отлично работает с Python2 и Python3 без проблем.
Быстрая установка с пипсом:
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')