Как я могу записать csv-файл на лист Excel с помощью openpyxl?

#python #python-3.x #dataframe #openpyxl #xlwings

Вопрос:

У меня возникли некоторые проблемы с написанием csv-файла в книгу Excel. Я попробовал ряд вариантов, но я думаю, что openpyxl migth справится с работой… однако я не могу найти способ сделать это.

напр.

 from openpyxl import Workbook
import openpyxl
import csv
#ceate workbook
wb = openpyxl.Workbook() 
TOP3 = wb.sheetnames
wb.create_sheet(title='metrics')
wb.save(filename='Test.xlsx')
sheet = wb["TOP3"]
#write an existing csv to the sheet above: 

    with open('metrics.csv', 'r') as f:  
        reader = csv.reader(f)
        for row in reader:
            for i in range(0,len(row)):
                sheet[f"""A{i}"""] = row 
 

выше не работает! Как я могу прочитать csv-файл в книгу Excel? Я хотел бы автоматизировать это. Я в основном хочу импортировать csv-файл своих показателей на вкладку «Показатели» моей книги

Комментарии:

1. for row in reader: sheet.append(row)

Ответ №1:

Я предлагаю использовать панд

 import pandas as pd

df = pd.read_csv('metrics.csv')
df.to_excel('test.xlsx', sheet_name='metrics', index=False)
 

Комментарии:

1. Это работает, но я пытаюсь вывести несколько csv в одну и ту же книгу Excel, и это позволяет мне выводить только один csv в одну книгу