import pandas as pd
data_path = r"C:\Users\Haley\Desktop\order.xlsx"
'''在读取时加上converter参数,先转成str再读'''
data = pd.read_excel(data_path, converters={'订单编号':str})
data.head()
pandas 读excel中的长数字时,即使excel中已经设置为文本,读进df后也会自动变成科学计数法。本篇博客介绍解决方法源数据:import pandas as pddata_path = r"C:\Users\Haley\Desktop\order.xlsx"data = pd.read_excel(data_path)data.head()结果:解决方法:import pandas as pddata_path = r"C:\Users\Haley\Desktop\or.
np.set_printoptions(suppress=True)
这样就可以搞定
以上这篇python 不以科学计数法输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:完美解决python中ndarray 默认用科学计数法显示的问题python常见的格式化输出小结python实现中文输出的两种方法
以上两个问题的解决方法:
在读取源文件是指定读取类型即可,如下:
pd.read_csv(inpath, converters={"列名1":str, "列名2":str})
(注:inpath是文件路径)
因为要进行数据处理,涉及到身份证信息这种长数字的数据,excel直接就将长数字都整成科学记数法了,很明显,这样根本不行,于是我们就需要将其转换成字符串完整显示才行,于是我看了我手上的数据中,身份证那一列,竟然是分数形式:
这种格式如果是直接转换成文本格式,那么数字都会变成科学记数法,当我们双击一个数据的时候,才会完整显示数据,但是这不是坑爹吗?我数据这么多,怎么可能一个一个点?所以我后面又找到了一种简单的方法:
首先选中身份证信息那一列,然后点击数据–》分列
然后会出现3个步骤,前2个步骤直接点击下一步
df = pd.read_excel('log.xls')
通过使用read_excel函数读入excel文件,后面需要替换成excel文件所在的路径。读入之后变为pandas的DataFrame对象。DataFrame是一个面向列(column-oriented)的二维表结构,且含有列表和行标,对excel文件的操作就转换为对DataFrame操作。另外,如果一个excel含有多个表,如果你只想读入其中一个可以:
最近使用pandas操作Excel表格,保存时遇到科学计数法问题,做此记录
因为 to_excel 方法写的就是原来的数字,并没有变,只是Excel的显示问题而已,想要直接显示出来的话转成字符串就可以了
第一种方法
df["number_str"] = df["number_str"].astype(long).astype(str)
网上有说不行的,个人测试没有发现问题,可以尝试。
第二种方法
pd.read_excel读取数据的时候,使用参数converters={'列名':str}