我正在使用pandas用python(xlsx文件,使用openpyxl)读取和写入excel文件。我的部分数据是看起来像数字的文字。例如,在原始的excel文件中,我有一个单元格
123456789012345
并且它在python中作为文本导入正常。但是,如果我再次写入excel文件,则输出单元格的格式为“常规”,并显示为
1.23e14
所以我的问题是:有没有办法在熊猫中设置数字格式?我想将其设置为“@”,即openpyxl.styles.NumberFormat.FORMAT_TEXT
。
不幸的是,pandas.ExcelWriter的文档并不那么先进(即它不存在)。
感谢您的帮助。
答案 0 :(得分:3)
我认为在最坏的情况下你可以直接操作细胞。我没有安装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