Агрегирование нескольких файлов Excel в python - ошибка индексации списка с помощью pd.read_excel - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь объединить несколько файлов:

import glob
import pandas as pd
import time

list_of_files = glob.glob('../data/*.xlsx')

frame = pd.DataFrame()
list_ = []

for file_ in list_of_files:
    df = pd.read_excel(file_, ignore_index=True)
    list_.append(df)

frame = pd.concat(list_)

, но я выдал следующую ошибку:

вывод скриншота с ошибкой

Мой список файлов выглядит нормально:

['../data/Chat Transcript Report 1.xlsx',
 '../data/Chat Transcript Report2.xlsx',
 '../data/Chat Transcript Report3.xlsx',
 '../data/Chat Transcript Report.xlsx']

Но, похоже, ошибка связана с строкой read_excel, но я не уверен, в чем проблема с индексированием.Любой совет будет высоко ценится!

1 Ответ

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

Нет ничего плохого в индексации панд. - это что-то не так или несовместимо с вашим файлом Excel.Это произошло по крайней мере пару раз (см. 1 , 2 ).Эта проблема может быть связана с неровными строками (см. проблемы xlrd: ragged_rows ) или с какой-либо другой проблемой с файлом Excel.

Я предлагаю вам сначала определить проблемную таблицу:

for file_ in list_of_files:
    try:
        df = pd.read_excel(file_, ignore_index=True)
        list_.append(df)
    except IndexError:
        print(file_)

Затем откройте распечатанный file_, скопируйте его содержимое в другую книгу и попробуйте снова с новой книгой.Если это работает, то это свидетельствует о том, что есть аспект первой рабочей книги, несовместимый с xlrd, который используется Пандами для чтения данных из Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...