Pandas read_excel удаляет столбцы под пустым заголовком - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть файл Excel, в котором A1, A2, A3 пусты, но A4: A53 содержит имена столбцов.

В «R», когда вы должны были читать эти данные, имена столбцов для A1, A2,A3 будет "X_1, X_2, X_3", но при использовании pandas.read_excel он просто пропускает первые три столбца, игнорируя их.Проблема в том, что число столбцов в каждом файле является динамическим, поэтому я не могу проанализировать диапазон столбцов, и я не могу редактировать файлы и добавлять «фиктивные имена» для A1, A2, A3

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Используйте параметр skip_blank_lines = False, например, так:

pd.read_excel('your_excel.xlsx', header=None, skip_blank_lines=False)

Этот вопрос о переполнении стека (окончательно) направил меня в правильном направлении: Python read_excel не распознает пустую ячейку

Документы pandas.read_excel не содержат никакой информации об этом, поскольку это одно из ключевых слов, но вы можете найти его в общих документах io здесь: http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table

0 голосов
/ 04 декабря 2018

Быстрым решением было бы передать header=None в функцию pandas 'read_excel(), вручную вставить недостающие значения в первую строку (теперь она будет содержать имена столбцов), затем присвоить эту строку df.columns и удалитьэто после.Не самый элегантный способ, но я не знаю встроенного решения вашей проблемы

РЕДАКТИРОВАТЬ: под «ручной вставкой» я подразумеваю некоторую путаницу с fillna(), так как это кажется автоматическим процессомкакой-то

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