Объединение нескольких файлов CSV в отдельные вкладки электронной таблицы в Python

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

import pandas as pd
import os
import csv
import glob    
path = "/MyScripts"
all_files = glob.glob(os.path.join(path, "*.csv"))
df_from_each_file = (pd.read_csv(f) for f in all_files)
df_from_each_file.to_excel(writer, sheet_name='ReturnData.csv')
writer.save()

Но это дает ошибку ниже: AttributeError: у объекта 'generator' нет атрибута 'to_excel' Не уверен, где я иду не так. Нужно ли импортировать какую-либо конкретную библиотеку для решения проблемы?

Версия Python - 2.7

4 голоса | спросил Soubhik Banerjee 22 PM000000120000004431 2018, 12:41:44

3 ответа


0
Здесь есть две проблемы:Выражение генератора позволяет вам лениво перебирать объекты данных.Вы не можете экспортировать выражение генератора в файл Excel.Ваш ---- +: = 0 =: + ---- параметр является константой.Чтобы экспортировать в несколько листов, вам нужно указать разные имена для каждого листа.Для этой цели вы можете использовать простой цикл ---- +: = 1 =: + ---- :Ваши рабочие листы будут называться ---- +: = 3 =: + ---- , ---- +: = 4 =: + ---- и т. Д. Если вам нужно имя файла в качестве имени листа, выможет реструктурировать вашу логику и использовать модуль ---- +: = 5 =: + ----, чтобы извлечь имя файла из пути:
ответил jpp 22 PM000000120000001231 2018, 12:56:12
0
Вы можете использовать метод конкатов пандось является пользователем для слияния, в каких направлениях
ответил aman kumar 22 PM000000120000003531 2018, 12:52:35
0
Хотя Python требует намного меньше строк кода по сравнению с VBA, я бы, вероятно, использовал VBA для такого рода задач.
ответил ryguy72 23 AM000000120000001731 2018, 00:00:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132