Pandas报错:AttributeError: module 'pandas.core' has no attribute 'format'。

4
当我运行pd.core.format.header_style = None时,会出现以下错误:
AttributeError                            Traceback (most recent call last)
<ipython-input-25-fb23b66754fa> in <module>()
     11 # df1.to_excel(writer, sheet_name='Sheet1')
     12 
---> 13 pd.core.format.header_style = None

AttributeError: module 'pandas.core' has no attribute 'format'

有人知道format移到哪里了吗?


我本来从未听说过那个属性。你是从哪里得知它的?它的作用是什么? - BrenBarn
1
也许是pandas.formats.format.header_style - BrenBarn
@BrenBarn 我不知道从哪里听说的,但我用它来在使用xlsxwriter将数据帧写入xlsx工作表之前删除格式。 - James Draper
1个回答

11

你现在正在寻找

pd.formats.format.header_style = None

根据我的理解,自版本0.18.1起。请查看问题CLN&REORG core / common.py#12503


编辑(版本> = 0.20

正如Jeff所提到的那样,这不是公共属性,因此容易移动位置。现在它可以在pandas.io.formats.excel中找到,您需要导入该模块。

如果您想处理到目前为止不同版本之间访问该属性的情况(同样容易更改),则可以参考此不兼容性问题,可能看起来像:

import packaging.version
import pandas
import pandas.io.formats.excel

def get_format_module():
    version = packaging.version.parse(pandas.__version__)
    if version < packaging.version.parse('0.18'):
        return pandas.core.format
    elif version < packaging.version.parse('0.20'):
        return pandas.formats.format
    else:
        return pandas.io.formats.excel.ExcelFormatter

3
没错,就是这样。当东西被搬来搬去时,你是不是很喜欢呢? - James Draper
1
你正在使用一个非公共属性。由于这不是任何保证的一部分,你应该非常密切地遵循这些更改。 - Jeff
很抱歉,我不明白您的意思。能否请您重新表述或者详细说明一下? - James Draper
@measure_theory 没错,我更新了答案,谢谢。 - miradulo
1
我希望熊猫开发人员至少更改两次,这样每次我想制作新的Excel转储程序时都必须重新查找它。 - user10417531

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接