Создание CSV-файла из pandas dataframe в соответствии с именами листов в файле - PullRequest
1 голос
/ 24 сентября 2019

У меня есть файл Excel, в котором есть несколько листов (6).Я пишу сценарий Python для преобразования каждого отдельного листа в CSV-файл.

Мой входной файл выглядит следующим образом, например, это имя листа = class5

Name   ID

Mark   11
Tom    22
Jane   33

вот такнесколько листов в Excel

Мне нужно конвертировать их в CSV-файл, имеющий только «Имя» и класс, как это:

Mark,class5
Tom,class5
Jane,class5

Этот один лист, как этот, у меня есть несколько листов, так чтоЯ использую преобразование каждого листа в кадре данных, как это

xls = pd.Excelfile('path_of_file'.xlsx)
df1= pd.read_excel(xlsx, 'Sheet1')
df2 = pd.read_excel(xlsx, 'Sheet2')
df3 = pd.read_excel(xlsx, 'Sheet3')

Как я могу сделать CSV-файл с именем 'class5'.csv с выводом, как указано выше, и таким же для каждого листа, такого как class6,7,8?

1 Ответ

2 голосов
/ 24 сентября 2019

Итак, исходя из вашего вопроса, вы хотите, чтобы содержимое каждого листа было сохранено в другой CSV, где CSV имеет столбец имени, а другой столбец, содержащий имя листа, из которого он пришел, без заголовка.

Если это то, что вам нужно, вы можете сделать:

xls = pd.read_excel('path_of_file',sheet_name = None)
for sheet_name, df in xls.items():
    df['sheet'] = sheet_name
    df[['Name','sheet']].to_csv(f'{sheet_name}.csv', header=False)

Ключевым моментом является аргумент sheet_name read_excel.как комментирует ваш вопрос, оставьте это как None, и вы получите словарь, который вы можете перебирать

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