无法在Python中读取所需的Excel文件作为输出

时间:2016-12-27 14:41:36

标签: python excel powershell pandas output

我正在尝试用Python(2.7.13)读取excel文件。为此我创建了一个示例文件Book1,其中包含以下条目 -

enter image description here

 import pandas as pd
 import numpy as np

 Book1 = pd.read_excel("D:\Python\Book1.xlsx")

 print(Book1.head())

在编写上述程序并在Powershell中执行之后,我得到了以下输出,我不明白。

enter image description here

第一列中的0,1,2是什么?为什么E细胞的值从7 yo 7.1变化?谁可以给我解释一下这个?这个程序有什么问题吗?

如果上传的图片不合适,我道歉。我不知道输入这些数据的任何其他方式。

2 个答案:

答案 0 :(得分:5)

0,1,2是行索引,因为您没有传递标题,所以第一行已自动转换为标题。

现在,我们不能有两个具有相同名称的列,因此第二个7已转换为7.1

要纠正此问题,您可以尝试:

or

请注意,您需要事先知道列数。

答案 1 :(得分:3)

Pandas正在读取第一行作为标题列。由于它希望避免命名列中的冲突,因此第一个7列将保留其原始名称。第二个7会产生碰撞,因此pandas会将其更改为7.1

设置header=None。有关参数的完整说明,请参阅docs

您可以按如下方式指定列的names

Book1 = pd.read_excel("D:\Python\Book1.xlsx", header=None, 
                      names=['col1', 'col2', 'col3', 'col4', 'col5'])

0,1和2是行的索引。您可以使用这些数字来引用一行。

>>> Book1[0]
1  3  7  2  7.1   <- column names
2  2  3  2    1   <- values in row 0