Код ниже работает нормально в Unix, и при попытке заставить его работать в windows он терпит неудачу - я пытаюсь создать excel после объединения нескольких файлов csv в каталоге. Имена вкладок в excel должны соответствовать имени файла csv -
Ниже приведен код
def create_Excel(path,output_file):
print("Input path is " + path)
print("Output File name " + output_file )
wb = xlwt.Workbook()
for csvfile in glob(os.path.join(path, '*.csv')):
fpath = csvfile.split("/", 1)
print ("Current Path " + csvfile )
fname = fpath[1].split("\\", 2)
print(str(fname)[1:-1] )
print ("Current Filename... " + fname[1].split(".",1)[0] )
ws = wb.add_sheet( fname[1].split(".",1)[0] )
with open(csvfile, 'rb') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
ws.write(r, c, col)
wb.save(output_file)
Ошибка -
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
Любое предложение, пожалуйста? Полный вывод -
Output File name INFA_XML.xls
Current Path C:/TEMP/Output\aggregator.csv
'TEMP/Output', 'aggregator.csv'
Current Filename... aggregator
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 14, in create_Excel
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)