Pandas:当第一行不是列名时,如何读取Excel文件

9
我正在使用pandas读取Excel文件。虽然它没有列名,但仍将第一行读取为列名。
以下是要读取的Excel文件。
data1   0.994676
data2   0.994588
data3   0.99488
data4   0.994483
data5   0.994312
data6   0.993823
data7   0.993575
data8   0.994231
data9   0.993838
data10  0.994007
data11  0.994328
data12  0.993503
data13  0.99342
data14  0.992729
data15  0.993013
data16  0.993049
data17  0.993133
data18  0.99262

我正在使用以下代码读取第二列。 导入pandas库:

df=pd.ExcelFile('C:/Users/JohnDoe/Desktop/080718_output.xlsx', header=None, index_col=False).parse('Data_sheet')
y=df.iloc[0:17,1]

下面是y。
In[38]:y
Out[38]: 
0     0.994588
1     0.994880
2     0.994483
3     0.994312
4     0.993823
5     0.993575
6     0.994231
7     0.993838
8     0.994007
9     0.994328
10    0.993503
11    0.993420
12    0.992729
13    0.993013
14    0.993049
15    0.993133
16    0.992620
Name: 0.994676, dtype: float64

这是因为第一行被用作列名而跳过了第一条数据.. 有什么想法可以改进吗?

编辑:将'header=False'更改为'header=None'。两种情况都会得出相同的结果。


3
你需要header=None吗? - jezrael
嗨,我已经尝试了两种方法,但结果并没有改变。 - user7852656
你说得对,这对我也不起作用。 - jezrael
2个回答

17
您可以使用带有header=Noneread_excel函数,以默认列和rangeIndex
df = pd.read_excel('file.xlsx', 
                   sheet_name ='Data_sheet', 
                   header=None, 
                   index_col=False)

2
创建一个列标题变量,并在您的Excel读取语句中调用它,同时声明header=None。
names=['Column1','Column2']
df=pd.read_excel(r"/Users/JohnDoe/Desktop/080718_output.xlsx",header=None,names=names)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接