Как объединить несколько листов в одной книге, используя Python, когда первый столбец в книге назван по-разному - PullRequest
0 голосов
/ 27 мая 2020

Я использовал следующий код из другого ответа StackOverflow для объединения данных из нескольких листов Excel в одной книге в один лист.

Это отлично работает, когда имена столбцов единообразны на всех листах книги. Однако я столкнулся с проблемой с одной конкретной c рабочей книгой, в которой только первый столбец назван по-другому (или вообще не назван… поэтому он пуст), но остальные столбцы такие же.

Как объединить такие листы? Есть ли способ переименовать первый столбец каждого листа в одно имя, чтобы затем я мог использовать шаги из ответа, указанного выше?

1 Ответ

0 голосов
/ 27 мая 2020

Да, вы можете переименовать все столбцы как:

# read excel
dfs = pd.read_excel('tmp.xlsx', sheetname=None, ignore_index=True)

# rename columns
column_names = ['col1', 'col2', ...]
for df in dfs.values(): df.columns = column_names

# concat
total_df = pd.concat(dfs.values())

Или вы можете игнорировать заголовок в read_excel, чтобы столбцы были помечены как 0,1,2,...:

# read ignore header
dfs = pd.read_excel('tmp.xlsx', sheet_name=None,
                    header=None, skiprows=1)

total_df = pd.concat(dfs.values)

# rename
total_df.columns = column_names
...