用Python动态读取Excel文件

问题描述 投票:0回答:1

我正在尝试读取具有一些空白行和列的excel。该过程变得更复杂,因为它在标头之前也有一些垃圾值。

enter image description here

当前,我正在对列名进行硬编码以提取表。这有两个缺点,如果表中不存在该列,以及列名在列值中重复出现,该怎么办?有没有一种方法可以动态编写一个程序,该程序可以自动检测表头并读取表?

代码段:

raw_data = pd.read_excel('test_data1.xlsx','Sheet8',header=None)

data_duplicate = pd.DataFrame()

for row in range(raw_data.shape[0]): 
    for col in range(raw_data.shape[1]):
        if raw_data.iloc[row,col] == 'Currency':
            data_duplicate = raw_data.iloc[(row+1):].reset_index(drop=True)
            data_duplicate.columns = list(raw_data.iloc[row])
            break
data_duplicate.dropna(axis=1, how='all',inplace=True)
data_duplicate

enter image description here

此外,标题行之前的银行行数+垃圾行数未确定。

python excel pandas blank-line
1个回答
0
投票

这是我的方式:您可以删除所有包含Nan的行和所有列

data = pd.read_excel('test.xlsx')
data = data.dropna(how='all', axis = 1)
data = data.dropna(how='all', axis = 0)
data = data.reset_index(drop = True)
© www.soinside.com 2019 - 2024. All rights reserved.