Python中4種方法實現 xls 檔案轉 xlsx

嗨学编程發表於2024-07-20

在 Python 中,可以採用 pandas、pyexcel、win32com 和 xls2xlsx 這四個模組,實現 xls 轉 xlsx 格式。

以 Excel 示例檔案 test_Excel.xls 為例,具體內容如下圖所示:
在這裡插入圖片描述

1.pandas

安裝命令

pip install pandas -i https://mirrors.aliyun.com/pypi/simple

具體使用方法

import pandas as pd

filename = "test_Excel.xls"
outfile = "test_Excel-pandas.xlsx"
# Read Excel xls file
data = pd.read_excel(filename)
# Write to xlsx file with no row index
data.to_excel(outfile, index=False)

注:上面的方法輸出的 xlsx 檔案同樣只保留了文字,沒有保留格式資訊。

2.win32com

安裝命令

python -m pip install pywin32 -i https://mirrors.aliyun.com/pypi/simple

具體使用方法

import os
import win32com.client as win32

filename = "test_Excel.xls"
outfile = "test_Excel-win32.xlsx"
# Open up Excel 
excel = win32.gencache.EnsureDispatch("Excel.Application")
# Open xls file
wb = excel.Workbooks.Open(os.path.abspath(filename))
# Save as xlsx file
wb.SaveAs(os.path.abspath(outfile), FileFormat=51)
wb.Close()
excel.Application.Quit()

注:win32com 模組只適用於已安裝 Excel 軟體的Windows 系統下,但輸出的 xlsx 檔案可以同時保留文字和格式。

3.xls2xlsx

安裝命令

pip install xlrd xls2xlsx -i https://mirrors.aliyun.com/pypi/simple

具體使用方法

from xls2xlsx import XLS2XLSX
#學習中遇到問題沒人解答?小編建立了一個Python學習交流群:725638078
filename = "test_Excel.xls"
outfile = "test_Excel-x2x.xlsx"
# Read xls file
x2x = XLS2XLSX(filename)
# Write to xlsx file
x2x.to_xlsx(outfile)

注:使用上面的方法得到的 xlsx 檔案可以同時保留文字和格式資訊,並且不依賴於 Windows 系統和 Excel 程式。

4.pyexcel

安裝命令

pip install pyexcel -i https://mirrors.aliyun.com/pypi/simple

具體使用方法

import pyexcel

filename = "test_Excel.xls"
outfile = "test_Excel-pyexcel.xlsx"
# Convert xls file to xlsx directly
pyexcel.save_book_as(file_name=filename, dest_file_name=outfile)

注:上面的方法輸出的 xlsx 檔案同樣只保留了文字,沒有保留格式資訊。

相關文章