pandas导入excel体会

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'>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值