在Excel作家中设置单元格的pandas

我正在使用pandas来读取和写入与python的Excel文件(xlsx文件,使用openpyxl)。 我的部分数据是看起来像数字的文字。 例如,在原始的excel文件中,我有一个单元格

123456789012345

并且它在python中以文本forms导入。 但是,如果我再次写入excel文件,输出单元的格式为“常规”,并显示为

1.23e14

所以我的问题是:有什么办法可以设置pandas的数字格式? 我想将其设置为“@”,即,将其设置为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