首页 > 解决方案 > Python:将 csv 转换为 xlsx 时出现问题。存储为文本的数字

问题描述

类似于这篇文章:在python中将文本转换为数字

我在尝试将 csv 文件转换为 xlsx 同时将单元格格式保持为数字时遇到问题。

在大多数情况下,我的代码有效。它将一些文本单元格转换回数字,但任何带逗号的数字(如任何数字 >= 1,000)仍保留为格式化为文本的单元格。

附件是我的代码和完成任务的结果

import pandas as pd

# Rename files
file1 = pd.read_csv(path0 + files[0])
Nfile1 = pd.ExcelWriter(path0 + 'Z Out Report.xlsx', engine = 'xlsxwriter', options = {'strings_to_numbers': True})
file1.to_excel(Nfile1, index = False)
Nfile1.save()

从 csv 转换后的 xlsx 文件

如您所见,某些数字仍以带有绿色箭头错误的文本形式存储。

我正在尝试使用这个新的 xlsx 文件进行读写,但我需要将这些单元格作为数字而不是文本。

感谢社区提供的任何帮助!

编辑 1:添加 csv 文件 Csv 文件

标签: pythonexcelpandas

解决方案


如果你真的需要这样做,pandas你可以用它来替换 dataframe 中的所有逗号file1

file1 = file1.replace(',','', regex=True)

推荐阅读