我正在尝试用Python(2.7.13)读取excel文件。为此我创建了一个示例文件Book1,其中包含以下条目 -
import pandas as pd
import numpy as np
Book1 = pd.read_excel("D:\Python\Book1.xlsx")
print(Book1.head())
在编写上述程序并在Powershell中执行之后,我得到了以下输出,我不明白。
第一列中的0,1,2是什么?为什么E细胞的值从7 yo 7.1变化?谁可以给我解释一下这个?这个程序有什么问题吗?
如果上传的图片不合适,我道歉。我不知道输入这些数据的任何其他方式。
答案 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