我正在使用熊猫通过python读取和写入excel文件(xlsx文件,使用openpyxl)。我的部分数据是看起来像数字的文本。例如,在原始的excel文件中,我有一个单元格123456789012345
并以python中的文本形式很好地导入。但是,如果我再次写入excel文件,则输出单元格的格式为“常规”,并显示为1.23e14
所以我的问题是:有没有办法设置熊猫的数字格式?我想将其设置为“ @”,即openpyxl.styles.NumberFormat.FORMAT_TEXT
。
不幸的是,pandas.ExcelWriter的文档还不够高级(即不存在)。
谢谢您的帮助。
最佳答案
我认为在最坏的情况下,您可以直接操纵细胞。我没有安装Excel,但也许您可以检查是否可行。
In [67]: df=pd.DataFrame ([123456789012345])
In [68]: writer = pd.ExcelWriter ('e.xlsx', engine='openpyxl')
In [69]: df.to_excel (writer, 'sheet1')
In [70]: ws = writer.sheets['sheet1']
In [71]: ws['A1'].style.number_format.format_code='@'
In [72]: writer.save ()
In [73]: pd.read_excel ('e.xlsx')
Out[73]:
0
0 123456789012345