Я хочу написать код на python, который читает все файлы xlsx в текущем рабочем каталоге и выводит их как файлы CSV.
Один файл Excel xlsx содержит несколько листов, поэтому мне нужно создать один файл CSV на лист. Имя файла для CSV должно быть .csv
мой код:
import os
import openpyxl
import csv
for excelFile in os.listdir('.'):
if excelFile.endswith('.xlsx'):
wb = openpyxl.load_workbook(excelFile)
for sheet in wb:
sheetname=sheet.title
csvFileName = open(excelFile +"-"+ sheetname+ '.csv', 'w', newline='')
csvFile = csv.writer(csvFileName)
for rowNum in range(1, sheet.max_row + 1):
rowData = []
for colNum in range(1, sheet.max_column + 1):
cellData = sheet.cell(row=rowNum, column=colNum).value
rowData.append(cellData)
csvFile.writerow(rowData)
csvFileName.close()
Это дает мне то, что я хочу, но единственное, что я не понимаю, это имя выходного файла выглядит следующим образом: example.xlsx-sheet1.csv. Однако я не хочу, чтобы здесь отображался .xlsx, так что мне нужно имя файла без .xlsx., Поэтому результат - example-sheet1.cvs.
Итак, что я должен изменить для текущего кода?