首页 > 解决方案 > Python 将 Excel .xlsx 保存为 CSV/XML 并保存样式信息以便转换回 .xsls

问题描述

我的 Python 程序使用 Panda 的 read_excel 和 to_csv 函数将 Excel 文件 (.xlsx) 转换为 CSV 文件,并且在将来的某个时候,CSV 会转换回 Excel 文件。维护数据很好,但当然所有的格式和样式都消失了。因此,在将 CSV 转换回 Excel 文件后,我可以使用一些帮助来捕获要使用的信息。

import pandas as pd
import xlsxwriter

EXCEL_PATH_FROM = r'C:\absolute\path\to\excel.xlsx'
EXCEL_PATH_TO = r'C:\absolute\path\to\other\excel.xlsx'
CSV_PATH = r'C:\absolute\path\to\csv.csv'

# read excel and convert to csv
def saveData():
    read_excel = pd.read_excel(EXCEL_PATH_FROM)
    print("writing csv...")
    read_excel.to_csv(CSV_PATH, index=None, header=True)

# get csv data and import that data into an excel file
def createFromData():
   csv = pd.read_csv(CSV_PATH)
   excel = pd.ExcelWriter(EXCEL_PATH_TO, engine='xlsxwriter')
   csv.to_excel(excel, index=None)
   excel.save()

我的一些想法是将 Excel 保存为 XML,并将格式和样式信息作为属性或其他内容插入,或者从 Excel 创建 CSV 和 XML(一个用于数据,一个用于样式)。我遇到的一个问题是弄清楚如何访问该信息。

目前是否有任何支持 Python 3(目前使用 3.8)的包可以帮助简化这个过程?我翻阅了 openpyxl 的文档,他们有一些不打算直接使用的样式表类,我不认为,我不知道如何直接使用它们。

标签: pythonexcelxmlcsvopenpyxl

解决方案


推荐阅读