我正在使用pandas将数据导出到XLSX,而pandas又使用XlsxWriter
。我已经尝试了我发现的格式化选项(例如float_format
,尽管它看起来像是基于源的错误答案)但是我找不到任何阻止Excel解释数字的内容科学计数法。
例如,如果我写0.000000000001
,Excel中的基础单元格值为0.000000000001
,但显示值为1E-12
。我知道我可以将数字写成字符串,但我希望Excel中的值为数字。
答案 0 :(得分:4)
您无法阻止Excel以其认为合适的任何格式显示未格式化的数字。保证格式的唯一方法是为数据指定数字格式。
不幸的是,目前无法在XlsxWriter和/或Pandas中执行此操作。
这样的功能在TODO list上,但它可能暂时不可用。
作为一种解决方法,我建议获取对底层工作簿和工作表的引用,并使用Pandas数据帧和XlsxWriter格式中的相同数据覆盖您希望格式化的任何单元格。稍后我将以一个如何操作的示例进行更新。
免责声明:我编写了XlsxWriter和Pandas / XlsxWriter集成代码。这里的问题与XlsxWriter限制有关,而不是Pandas。
答案 1 :(得分:0)
在write()方法中指定数字时,只需格式化数字即可。例如:
import xlsxwriter
wb = xlsxwriter.Workbook('myfile.xlsx')
ws = wb.add_worksheet('testme')
ws.write('A1', '%s' %123232323232323232435454546565)
wb.close()