【发布时间】:2019-05-06 16:13:33
【问题描述】:
从 Python 处理 Excel 文件有很多很棒的东西,我想我只是陷入了一个有趣的小裂缝:我需要使用纯 Python(不是win32com 或 VBA 什么的)。就像海报here 一样,我正在获取讨厌的专有文件,并且不得不以完全相同的讨厌的专有方式将它们吐出,否则讨厌的专有软件不会收回它们。我一直在处理数据,所以这不仅仅是格式转换;我需要在 Python 中对文件进行实际处理,然后以它们传入的相同格式将它们写回。here 提出了一个更简单的问题版本,但没有直接回答。
xlsxwriter 文档有一个很好的summary of the current state of the art,这与我自己的谷歌搜索一致:xlwt 将处理旧的非 XML 格式,openpyxl 专门处理 Excel 2010 格式,xlsxwriter 本身适用于 2007+,pythonOffice 没有被触及自 2012 年以来。
请告诉我,我不必使用 BeautifulSoup 或其他工具手动解析所有内容即可返回 Excel 2003!如果需要,我可以使用 Python 2 或 3,或两者兼而有之。谢谢。这些是命名空间的相关位:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
...
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
【问题讨论】:
-
也很好奇为什么有人投票关闭作为离题。当然似乎属于“......程序员常用的软件工具;并且是软件开发独有的实用、可回答的问题”。如果它应该在不同的 SE 站点上,请赐教。