У меня есть несколько строк кода, которые должны были преобразовать множество таблиц Excel в моем текущем рабочем каталоге в csv
файлы.
К сожалению, после запуска этого кода я получил ошибку в строке 21.
Что могло привести к этой ошибке?
Заранее спасибо.
python
import os
import csv
import openpyxl
for spreadsheet in os.listdir('.'):
if spreadsheet.endswith('.xlsx'):
wb = openpyxl.load_workbook(spreadsheet)
for sheet_name in wb.get_sheet_names():
sheet = wb.get_sheet_by_name(sheet_name)
csv_file = open(sheet_name + '.csv', 'w', newline='')
csv_writer = csv.writer(csv_file)
for row_num in range(1, sheet.max_row + 1):
row_data = []
for col_num in range(1, sheet.max_column + 1):
row_data.append(sheet.cell(row=row_num, column=col_num).value)
for row in row_data:
csv_writer.writerow(row)
csv_file.close()
Я ожидал конвертировать csv
файлов. Ниже то, что я получил.
C: \ Users \ User \ Anaconda3 \ Lib \ сайт-пакеты \ ipykernel_launcher.py: 10:
DeprecationWarning: вызов устаревшей функции get_sheet_names (Использовать
wb.sheetnames).
Удалите CWD
из sys.path
, пока мы загружаем вещи.
C: \ Users \ User \ Anaconda3 \ Lib \ сайт-пакеты \ ipykernel_launcher.py: 11:
DeprecationWarning: вызов устаревшей функции get_sheet_by_name (Use
термометр [SheetName]).
Это добавляется обратно InteractiveShellApp.init_path()
Error Traceback (most recent call last) <ipython-input-29-1b50f926f2e2> in <module>()
19
20 for row in row_data:
---> 21 csv_writer.writerow(row)
22 csv_file.close()
Error: iterable expected, not int