Как удалить / игнорировать некоторые строки при разборе данных из Excel с помощью Python - PullRequest
0 голосов
/ 20 октября 2018

В последнее время я пытаюсь проанализировать данные из листа Excel с помощью Python, и я успешно анализирую их, но мне не нужны некоторые строки из этого листа Excel.Так как это сделать (может быть с помощью зацикливания).Вот код, который я написал для анализа листа Excel:

import xlrd



book = xlrd.open_workbook("Excel.xlsx")

sheet = book.sheet_by_index(0)
firstcol = sheet.col_values(0)
data = [[sheet.cell_value(r, c) for c in range(sheet.ncols)] for r in 
        range(sheet.nrows)]


ele=''
year=[]

for j in range(len(data)):
    if j==1:
        year=data[j]
    if j>2:
        ele=data[j][0]

        for i in range(1, len(data[j])):
            if ele != "":
                if data[j][i] != "":
                    if year[i] !="":
                        print([ele, data[j][i], year[i]])

При этом все строки анализируются в формате списка, который я хочу, но я не хочу, чтобы некоторые строки ** (например, Total age, TotalИдентификаторы, итоговый результат) ** из файла Excel, так как я могу реализовать его в том же коде или предложить какой-нибудь другой эффективный способ (может быть панд) для сокращения кода или любой другой мощный способ.Файл Excel, который ссылается на: Нажмите, чтобы увидеть Excel.xlsx

Заранее спасибо .....

1 Ответ

0 голосов
/ 21 октября 2018

Если я правильно понимаю, вы можете сделать это намного проще.У вас есть список исключаемых строк:

rows_to_exclude = ['Total age', 'Total IDS', 'Total Result']

Вы можете прочитать в кадре данных, используя pd.read_excel без xlrd (не нужно указывать индекс листа, если это первый лист,который читается по умолчанию).Затем вы можете удалить строки с пропущенными значениями и удалить все строки, чей индекс находится в списке исключенных меток строк:

df = pd.read_excel('Excel.xlsx')
df = df.dropna().drop(rows_to_exclude)
...