여러 개의 CSV 파일을 하나로 결합하려고합니다. 하지만 각 행 사이에 공백이 생깁니다.csv 작성기에서 바이트 사이에 공백이 있고 행 사이에 공백이 있음
은 내가 filewriter = csv.writer(open("output.csv", "w"))
에 WB에 w를 변경했다 어딘가에 읽을 수 있지만이 나에게 다음과 같은 오류 제공 : 유일한 솔루션으로,
Traceback (most recent call last):
File "C:\Users\Rasmus\workspace\Portfolio\src\Companies.py", line 33, in <module>
collect()
File "C:\Users\Rasmus\workspace\Portfolio\src\Companies.py", line 31, in collect
Write.UpdateCSV(lst)
File "C:\Users\Rasmus\workspace\Portfolio\src\Write.py", line 11, in __init__
filewriter.writerows(lst)
TypeError: a bytes-like object is required, not 'str'
나는이의 무엇을 할 모르겠어요를 내가 찾을 수있는 또 다른 오류를 줬어.
행 사이의 간격을 제거하는 다른 방법이 있습니까?
내 코드 :
import csv
import Write
paths = [
'Finance.CSV',
'Energy.CSV',
'Basic Industries Companies.CSV',
'Consumer Durables Companies.CSV',
'Consumer Non-Durables Companies.CSV',
'Consumer Services Companies.CSV',
'Health Care Companies.CSV',
'Public Utilities Companies.CSV',
'Technology Companies.CSV',
'Transportation Companies.CSV'
]
def collect():
lst = []
for path in paths:
file=open('C:/Users/Rasmus/Desktop/Sectors/' + path, "r")
reader = csv.reader(file)
for line in reader:
tmpLst = []
tmpLst.append(line[0])
tmpLst.append(line[7])
lst.append(tmpLst)
#print(line[0] + ", " + line[7])
Write.UpdateCSV(lst)
collect()
import csv
class UpdateCSV():
def __init__(self, lst):
#print(lst)
#resultFile = open("output.csv",'w')
#wr = csv.writer(resultFile, dialect='excel')
filewriter = csv.writer(open("output.csv", "wb"))
filewriter.writerows(lst)
올바른 방법은'with' 문을 사용하는 것입니다. –
@LaurentLAPORTE 물론. 이것이 문제의 일부가 아니더라도 대답을 편집했습니다. –