Pandas:read excel nrows不工作,dtype不保留0填充

2024-03-29 16:02:28 发布

您现在位置:Python中文网/ 问答频道 /正文

当在excel中读取数据时,在指定dtype和nrows时,我很难定义参数。在

让我们以excel.xlsx格式保存的小表格为例col1'数字用0填充。在

col1    col2
01  a
02  b
03  c
04  d

第一个问题,我想阅读整个表,但保留填充。我尝试使用dtype定义为object或str,并使用转换器(如下所示)。数据类型已转换为对象,但不保留填充。有什么办法吗?在

^{pr2}$

第二个问题,我试图使用nrows(如下)提取数据帧的一个子集。但是,这根本不起作用,仍然会拖出整个表。在

pd.read_excel(path, sheetname=0, nrows=2)

对于这两个实例,它在pd.read_csv中工作得非常好

我使用的是pandas v0.20.3。在


Tags: read参数定义object格式数字读取数据xlsx
2条回答

格式化不起作用的原因是Excel的格式只改变了数据的显示方式,而不是数据的存储方式。在

要更改数据的存储方式,您需要更改文件的本机格式,或者按照您想要的方式格式化数据。在

在您的例子中,您将它转换为一个字符串,您应该将它转换为一个零填充字符串;对于这个字符串有一个特殊的函数^{}。在

问题的第二部分要简单得多-nrows参数是在pandas版本0.23.0中添加的

如果您在excel中格式化某些内容,但并不意味着存储在excel文件中的值实际上是“01”。将其保存为csv并在记事本中打开。我猜你不应该看到“01”而是“1”

nrows是为熊猫v 23而你在v 20

相关问题 更多 >