Конвертация .XLSX в .XLS
У меня скрипт для обработки XLS, но некоторые прайсы приходят в XLSX. Из них нужны только строки и числа, никаких формул не нужно. Попробовал пару решений - вроде бы переводит в файл с типом .xls, но программа на него ругается как на .xlsx.
Вот код, сделано как тут:
$ pip install pyexcel-xlsx
import pyexcel as p
for name in os.listdir(".\\prices"):
if name.endswith('.xlsx'):
p.save_book_as(file_name=".\\prices\\"+name,
library='pyexcel-xlsx', # <--- note 1
skip_hidden_row_and_column=True, # <--- note 2
dest_file_name=".\\prices\\"+ (name.replace(".xlsx",".xls")))
os.remove(".\\prices\\"+name)
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь модулем Pandas:
import pandas as pd # pip install pandas
filename = "/path/to/file.xlsx"
pd.read_excel(filename).to_excel(filename[:-1])
Автор решения: Ivan Dorofeev
→ Ссылка
Вот решение, чтобы не париться с зависимостями библиотек: https://products.aspose.com/cells/ru/python-java/conversion/xls-to-xlsx/
jpype.startJVM()
from asposecells.api import Workbook
Workbook("input.xls");
workbook.Save("Output.xlsx");
jpype.shutdownJVM()