冰菲 发表于 2024-1-2 18:06:40

Python处理Excel中,删除多余列后单号异常

单号                                     代处理        类别              批次        险种
18905122130296109682        *                1              *      *


Python处理Excel中,删除多余列后单号变成1890512213029610000或189E+19



last110_data = pd.read_excel("C:/Users/EDY/Desktop/python/最终完整版/4删除.xlsx")
last111_data=last110_data.copy()
last111_data['a空值'] = np.nan
last111_data['客户'] = last111_data['客户'].fillna('a信息缺失')
last1_data= last111_data.drop(columns=['类别','代处理,'批次','险种','a空值'])

以上代码保存后单号显示异常

FishC 发表于 2024-1-2 18:06:51

在Python中,处理Excel文件时,如果删除多余列后单号显示异常,可能是由于数据类型转换错误导致的。根据你提供的代码,问题出现在以下两行:

last111_data = np.nan
last111_data = last111_data.fillna('a信息缺失')

在这里,你尝试使用`np.nan`来填充空值,并替换为字符串`'a信息缺失'`。然而,`np.nan`实际上是一个浮点数类型的特殊值,它不能用于填充DataFrame中的空值。

解决办法是使用`fillna()`函数替换空值,但不需要先创建`np.nan`变量。下面是修正代码的示例:

last110_data = pd.read_excel("C:/Users/EDY/Desktop/python/最终完整版/4删除.xlsx")
last111_data = last110_data.copy()
last111_data = last111_data.fillna('a信息缺失')
last1_data = last111_data.drop(columns='需要删除的列名')

请注意,你需要将`'需要删除的列名'`替换为你要删除的实际列名。运行修正后的代码后,你应该可以得到正确的结果。

希望这可以帮助到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

绿叶游花 发表于 2024-1-3 08:18:46

是不是这个原因:
df = pd.read_excel('filepath', dtype=str)
指定dtype之后,单号被指定为字符串型,就不会出现科学计数法的情况。
页: [1]
查看完整版本: Python处理Excel中,删除多余列后单号异常