pandas导入excel体会

本文分享了使用pandas导入Excel的体会,介绍了相关数据及使用方法,着重提到使用pandas的converters参数,还提醒注意x要加str(),因decimal只能处理字符串,引用json格式时要用eval去掉两端逗号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas导入excel体会

文章例子的相关数据

import decimal
import numpy as np
file_path =r"C:\"
file_path_name = file_path+"\\"+"文件名"+".xlsx"

dtype的常用格式有

column_name_type = ['str','int64','float64']
dtype={'column_name':column_name_type[0]}

使用方法

使用pandas的converters参数

注意:x要加str(),因为decimal只能处理字符串,不能处理float格式

df = pd.read_excel(file_path_name
   ,dtype=dtype
   ,converters={'columns_name_1':lambda x:decimal.Decimal(str(x)) if not np.isnan(x) else np.nan()
       ,'columns_name_2':'float64'},nrows=10)

引用json格式时,要使用eval将两端的逗号去掉

d_json = json.dumps({"column_name_1":"lambda x:decimal.Decimal(str(x)) if not np.isnan(float(x)) else np.nan()"
    ,"columns_name_2":"np.float64"})
converters = {}
for d_j_i,d_j_v in json.loads(d_json).items():
    converters[d_j_i] = eval(d_j_v)
df1 = pd.read_excel(file_path_name,converters=converters,nrows=10)
print(type(df1.at[0,'column_name_1']))
# 结果:<class 'decimal.Decimal'>

print(type(df1.at[0,'column_name_2']))
# 结果: <<class 'numpy.float64'>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值