Запишите несколько кадров данных в один плоский текстовый файл для ввода в Pandas - PullRequest
0 голосов
/ 07 октября 2019

У меня есть файл Excel с несколькими листами, который я преобразую в словарь данных, где ключ представляет имя листа:

xl = pd.ExcelFile(r"D:\Python Code\PerformanceTable.xlsx")
pacdict = { i : pd.read_excel(xl, i) for c, i in enumerate(xl.sheet_names, 1)}

Я хотел бы заменить этот входной файл Excel на простой текстовый файл- но все равно хотелось бы получить тот же результат, что и словарь данных.

Есть предложения о том, как я могу отформатировать текстовый файл, чтобы он по-прежнему содержал данные для нескольких именованных таблиц / листов и мог быть прочитан в вышеуказанном формате? Желательно, чтобы встроенные функции Pandas выполняли тяжелую работу.

1 Ответ

0 голосов
/ 07 октября 2019

Перебрать каждый лист. Создайте новый столбец с именем «sheet_source». Объединить кадры данных листа с основным кадром данных. Наконец экспорт в файл CSV.

# create a master dataframe to store the sheets
df_master = pd.DataFrame()

# loop through each dict key
for each_df_key in pacdict.keys():

    # dataframe for each sheet
    sheet_df = pacdict[each_df_key]

    # add column for sheet name
    sheet_df['sheet_source'] = each_df_key

    # concatenate each sheet to the master
    df_master = pd.concat([df_master, sheet_df])

# after the for-loop, export the master dataframe to CSV
df_master.to_csv('new_dataframe.csv', index=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...