Объединение листов из разных файлов Excel в одну рабочую книгу python - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь понять код, который был опубликован некоторое время go. Я не мог найти правильное объяснение, поэтому я сделал этот пост. Я новичок в python, и если бы кто-то мог объяснить мне, как это работает, я был бы очень признателен. Я отметил части, которые мне не понятны.

Ссылка на исходную ветку

Сам код:

    from pandas import ExcelWriter
import glob
import os
import pandas as pd

writer = ExcelWriter("output.xlsx")

for filename in glob.glob("*.xlsx"):
    excel_file = pd.ExcelFile(filename)
    (_, f_name) = os.path.split(filename) <--- 
    (f_short_name, _) = os.path.splitext(f_name)
    for sheet_name in excel_file.sheet_names:
        df_excel = pd.read_excel(filename, sheet_name=sheet_name)
        df_excel.to_excel(writer, f_short_name+'_'+sheet_name, index=False) <---

writer.save()

1 Ответ

0 голосов
/ 16 февраля 2020

То, что вы отмечаете, это просто создатель, который пытается назвать лист в новом файле Excel.

(_, f_name) = os.path.split(filename)

# _: 'C:\\Desktop'
#f_name: 'file.xlsx'

Возвращает начало и конец каталога. В этом случае хвостом является имя файла.

df_excel.to_excel(writer, f_short_name+'_'+sheet_name, index=False)

Этот файл предназначен для сохранения кадра данных в файл Excel. Первый аргумент:

  • ExcelWriter, если вы хотите создать файл Excel с несколькими листами внутри.
  • Если нет, используйте file path (Где вы хотите сохранить его) ,

Второй аргумент: Sheet name для каждого кадра данных.

последний аргумент: index или имя строки

  • True: запись
  • False: пропустить

для получения дополнительной информации:

os.path.split: https://www.geeksforgeeks.org/python-os-path-split-method/

.to_excel: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_excel.html

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