1
Ich habe hier ein einfaches Python-Snippet, das Macros Excelsheet in csvs kopiert. Das Snippet explodiert aus irgendeinem Grund. Ich habe dieses Snippet mit Python 2.7
ausgeführt und hatte kein Problem damit. Ich habe kürzlich Python 3.6
heruntergeladen. Wie kann ich dieses Problem beheben?Python - ein Byte-ähnliches Objekt wird benötigt, nicht 'str'
import csv
import xlrd
workbook = xlrd.open_workbook('P:/LFC Lots and Sales-NEW.xlsm')
for sheet in workbook.sheets():
with open('{}.csv'.format(sheet.name), 'wb') as f:
writer = csv.writer(f)
writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
print ("Sheets copied")
Traceback:
writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
TypeError: a bytes-like object is required, not 'str'
Mit Python 3, Sie wollen auch 'newline = ''' in Ihrem offenen - siehe die Dokumentation [hier] (https://docs.python.org/3/library/csv.html # csv.writer) und lies Fußnote 1. – DSM