gpt4 book ai didi

python - 如何使用 Python 修改 XLSX 列格式

转载 作者:行者123 更新时间:2023-11-28 18:36:58 33 4
gpt4 key购买 nike

我有数百个 XLSX 文件,它们都有包含长数字帐号的列。我需要将所有这些文件自动转换为 CSV。这对于像 ssconvert 这样的工具来说是微不足道的。但是,由于 bug feature在 Excel 和 Libreoffice 中,长数字字段将使用科学记数法显示,如果导出为 CSV,将保留此格式化数字(不是基础数据)。

这意味着任何自动转换为 CSV 的操作都会截断帐号,因为值 1240800388917 将作为 1.2408E+12 或 1240800000000 写入 CSV,从而导致数据损坏。

这很容易解决,只需手动打开 Excel 文件并将这些列设置为“文本”格式。然而,对数百个文件执行此操作有点乏味,尤其是因为其中许多文件都有奇怪的宏和格式,这使得 Libreoffice 需要几分钟才能打开每个文件(这也是我想将它们全部转换为 CSV 的另一个原因第一名)。

使用 Python 自动打开每个文件并将整个列的格式更改为“文本”的最简单方法是什么?我看到了很多关于如何读取 XLS/XLSX 文件的 Python 示例,在某些情况下还编写了它们,但我找不到关于操作列的默认格式的指南。

最佳答案

我进行了一些试验和错误并深入研究了代码,但结果证明这个解决方案是微不足道的。

from openpyxl import load_workbook
wb = load_workbook('myfile.xlsx')
ws = wb.active
for row in ws.rows:
row[col_index].number_format = row[col_index].style.number_format = '@'
wb.save('myfile-fixed.xlsx')

关于python - 如何使用 Python 修改 XLSX 列格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31479790/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com