Crossin的编程教室
标题:
请问用Pandas把数据生成到excel的时候如何避免科学记数法?
[打印本页]
作者:
feeso4
时间:
2018-7-27 11:16
标题:
请问用Pandas把数据生成到excel的时候如何避免科学记数法?
代码如下:
我从两个不同的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()
作者:
crossin先生
时间:
2018-7-28 01:08
.astype('str') 试下
另外,这个可能是excel的显示问题,不是pandas
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5