development

Python으로 CSV에 작성하면 빈 줄이 추가됨

big-blog 2020. 10. 16. 07:38
반응형

Python으로 CSV에 작성하면 빈 줄이 추가됨


이 질문에 이미 답변이 있습니다.

CSV 파일에 쓰려고하는데 그 사이에 빈 행이 있습니다. 빈 행을 제거하려면 어떻게해야합니까?

import csv
b = open('test.csv', 'w')
a = csv.writer(b)
data = [['Me', 'You'],\
        ['293', '219'],\
        ['54', '13']]
a.writerows(data)
b.close()

csvPython 3에서 모듈 을 사용하는 방법 은 최소한 파일을 여는 방법과 관련하여 여러 측면에서 (문서) 변경되었습니다 . 어쨌든, 뭔가

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

도움이 되었기를 바랍니다


bPython 2에서 빈 줄을 처리하려면 바이너리 모드 에서 파일을 열어야합니다 . 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')

참고 URL : https://stackoverflow.com/questions/14693646/writing-to-csv-with-python-adds-blank-lines

반응형