设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 5011|回复: 1
打印 上一主题 下一主题

请问用Pandas把数据生成到excel的时候如何避免科学记数法?

[复制链接]

2

主题

0

好友

34

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-7-27 11:16:46 |只看该作者 |倒序浏览
代码如下:

我从两个不同的excel里读了差异数据,然后把他们放到一个新的excel里,在IDE下显示身份证号一列都正常,但是到了excel里就变成了科学计数法,有办法让身份证号一列直接到excel显示就是纯文本格式的吗?在网上找了一阵资料,用了.astype(int64)没好用。期待的结果是excel里生成正常的身份证号,实际看到不光没生成正常的身份证号,数字也不对。。。最后四位变成了0000


import pandas as pd
import numpy as np

np.set_printoptions(suppress=True)
np.int64
df1 = pd.read_excel('A.xlsx')  # A表基础数据--基准表
df2 = pd.read_excel('B.xlsx')  # B表基础数据
# 返回B表中数据,A身份证不等于B身份证,且A姓名等于B姓名的数据
a = df2[(df2['身份证号'] != df1['身份证号'].astype('int64')) & (df1['姓名'] == df2['姓名'])]
# 返回B表中数据,A身份证等于B身份证,且A姓名不等于B姓名的数据
b = df2[(df2['身份证号'] == df1['身份证号'].astype('int64')) & (df1['姓名'] != df2['姓名'])]

X = [a, b]
Z = pd.concat(X)
print(Z)
writer = pd.ExcelWriter('差异.xlsx')
a.to_excel(writer, 'sheet1')  # 注释1的数据放在sheet1
b.to_excel(writer, 'sheet2')  # 注释2的数据放在sheet2
writer.save()
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-7-28 01:08:33 |只看该作者
.astype('str') 试下

另外,这个可能是excel的显示问题,不是pandas
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-24 00:26 , Processed in 0.023705 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部