pandas读取excel后,某一列的字符串不能读出的处理方法

使用pandas读取excel文件config;文件中的cardlist页面中,有约132条会员卡信息;

CONFIG = "config.xlsx",文件中数据格式:

目的:获取”卡号“一列后,在需要的时候,判断某个字符串类型的卡号是否在config文件存在?

1、出现的问题: "66601854"这个卡号是在文件中的,但是使用如下代码,却得到False的反馈

cardlist = pd.read_excel(CONFIG, sheet_name="cardlist",index=False)

df = cardlist.loc[:,"卡号"]

print(df)

使用了以下几种方式,均得不到正确的结果(测试卡号均在文件中)

print("66601251" in df)               :  结果 False
print("66601251" in df.tolist())    :  结果 False
print("99001063" in df.tolist())    :  结果 False
print("66601854” in df.tolist())    :  结果 False

考虑到可能是数据类型的问题后,使用如下方式转换类型后,结果却十分诡异:printf(df)打印出来的几个卡号,是可以得到正确结果,但是没有打印出来的卡号,却查询不到:
print("66601251" in str(df))   :  结果 True
print("66601854" in str(df))   :  结果 False

--------------------------------------------------------------------------------------

2、解决方案:

最后,在多方求证后,确认是数据类型的问题,但是转换类型的方式不正确,但是转换的方式,需要以DataFram整体来进行转换:

方式1:在使用的时候,转换为类型为str,并使用tolist()函数;
df = cardlist.loc[:,"卡号"]
print("66601854" in df.astype(str).tolist())

方式2:在获取数据时,即刻将数据类型进行转换:
df = cardlist.loc[:,"卡号"].astype(str)
print("66601854" in df.tolist())

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值