这是一个偶然事件,朋友在收集人员信息,但他收到的excel文件中,身份证号显示不全,溯源摇人也没有解决这个问题(建文件的人也没有了身份证号),然后我也是抱着试试的态度,帮他解决了这个问题。
当然,该处理方式也同样适用于银行卡号等长串数字的场景。
我这里的记录数不多,仅400行、7列,所以下面的代码只处理这些而已,大家可以根据自身情况,调整 i 和 j 的范围
# 身份证、银行卡号等,在excel中显示成科学计数法时(位数是0000)
# 可以用此代码解决,恢复身份证、银行卡号原样
# 我这边是先弄到txt,再手动放回Excel的
import pandas
pandas.read_excel('D:/登记表.xls',dtype='str')
sheet=pandas.read_excel('D:/登记表.xls',dtype='str')
new=open('D:/登记信息.txt',mode='w')
# i行j列问题
for i in range(0,400):
for j in range(0, 7):
print(sheet.values[i,j])
if str(sheet.values[i,j])!='nan':
new.writelines(str(sheet.values[i,j])+"\t")
new.write('\n')