pd.read_excel中的小数选项已弃用?

问题描述

直到我最近使用

pd.read_excel("afile.xslx",decimal=',')

带有小数点选项,可以轻松解析欧洲日期。

我今天将熊猫更新为1.1.3版,并且不再接受“ decimal =”选项。是否不建议使用此选项?如果是,导入在excel中以小数点“,”作为文本存储数字的数字的好方法是什么?

解决方法

我认为read_excel从未接受过decimal的论点。 This github issue提出要求(该问题于2016年开放,到2020年10月仍然有效)。

我认为您对read_csv感到困惑,从{1.1.3开始,熊猫仍然接受decimal

无论如何,通过read_excel,您可以使用converters参数。来自docs

转换器:字典,默认为None。用于转换值的函数的字典 在某些列中。键可以是整数或列标签, 值是采用一个输入参数Excel单元格的函数 内容,然后返回转换后的内容。

def decimal_converter(value):
    try:
        return float(value.replace(',','.'))
    except ValueError:
        return value

pd.read_excel("afile.xslx",converters={'column_name': decimal_converter})
,

另一个适用于我的解决方案是:

bd_df ['col_1'] = bd_df ['col_1']。str.replace(“,”,“。”)。astype(float)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...