pandas导出Excel表格,银行卡号、身份证号无法正常显示的问题,该怎么解决?

举报
yd_226342373 发表于 2021/05/25 04:26:38 2021/05/25
【摘要】 这个问题已经被人问了不下五遍了, 可见这样的问题,也是大家在工作中经常碰到的。 所以不管怎么样子,我今天找出了一种方法,解决了这个问题。 如果说我们有下面这样一个数据源,当我们导入python进行数据处理后,如果不进行任何处理,会出现什么情况呢?注:编号和身份证列,在Excel中已经是文本类型了。 如果说读取不做任何处理,导出不做任何处理,会出现什么样子的情况呢? ...

这个问题已经被人问了不下五遍了, 可见这样的问题,也是大家在工作中经常碰到的。
所以不管怎么样子,我今天找出了一种方法,解决了这个问题。
在这里插入图片描述
如果说我们有下面这样一个数据源,当我们导入python进行数据处理后,如果不进行任何处理,会出现什么情况呢?注:编号和身份证列,在Excel中已经是文本类型了。
在这里插入图片描述
如果说读取不做任何处理,导出不做任何处理,会出现什么样子的情况呢?

import pandas as pd

df = pd.read_excel("info.xlsx")
df

  
 
  • 1
  • 2
  • 3
  • 4

结果如下:
在这里插入图片描述
在这里插入图片描述
这就尴尬了!如果我的数据源中存在这里的列,你去python中跑了一遍,还把我的原始数据给弄得非正常显示了,这不是很无语吗?

在这里插入图片描述
这样肯定不行呀,出现了这种问题应该怎么解决呢?

首先看看将这样的数据,读取到python中,怎么正常显示。

import pandas as pd
# converters参数,可以指定读取某些列为指定数据类型;
df = pd.read_excel("info.xlsx",converters={"身份证":str,"编号":str})
df

  
 
  • 1
  • 2
  • 3
  • 4

结果如下:
在这里插入图片描述
通过上图可以发现,数据已经正常读取了。此时,我想导出到excel中的数据,也不出现格式显示问题,应该怎么做呢?

df["编号"] = df["编号"].apply(lambda x: "\t" + x)
df["身份证"] = df["身份证"].apply(lambda x: "\t" + x)

df.to_csv("info2.csv",encoding="gbk")
df.to_excel("info2.xlsx",encoding="gbk")

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

蹬 蹬 蹬 蹬,你没看错就是这么简单,在每个数据前面加一个制表符\t即可。其实你也可以在数据前面加一个英文状态下的单引号',但是只有加了制表符后,导出excel后,显示的结果是最好的。

现在我们来看看最终的结果:
在这里插入图片描述
问题解决,撒花!不知道你是不是很开心,反正我是很开心,反正我是宠粉狂魔。

在这里插入图片描述

文章来源: blog.csdn.net,作者:数据分析与统计学之美,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41261833/article/details/107435606

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。