En este artículo, aprenderemos cómo copiar datos de una hoja de Excel al libro de Excel de destino utilizando el módulo openpyxl en Python.
Para trabajar con archivos de Excel, necesitamos openpyxl
, que es una biblioteca de Python que se utiliza para leer, escribir y modificar archivos de Excel (con extensión xlsx/xlsm/xltx/xltm). Se puede instalar usando el siguiente comando:
Sudo pip3 install openpyxl
Para copiar un archivo de Excel a otro, primero abrimos los archivos de Excel de origen y de destino. Luego, calculamos el número total de filas y columnas en el archivo de origen de Excel y leemos el valor de una sola celda y lo almacenamos en una variable y luego escribimos ese valor en el archivo de destino de Excel en una posición de celda similar a la de la celda en el archivo de origen . El archivo de destino se guarda.
Procedimiento –
1) Importar la biblioteca openpyxl como xl.
2) Abra el archivo fuente de Excel utilizando la ruta en la que se encuentra.Nota: La ruta debe ser una string y tener barras invertidas dobles (\\) en lugar de una barra invertida simple (\). Por ejemplo: la ruta debe ser
C:\\Users\\Desktop\\source.xlsx
en lugar deC:\Users\Admin\Desktop\source.xlsx
3) Abra la hoja de trabajo requerida para copiar usando el índice de la misma. El índice de la hoja de trabajo ‘n’ es ‘n-1’. Por ejemplo, el índice de la hoja de trabajo 1 es 0.
4) Abra el archivo de Excel de destino y la hoja de trabajo activa en él.
5) Calcule el número total de filas y columnas en el archivo fuente de Excel.
6) Use dos bucles for (uno para iterar a través de filas y otro para iterar a través de columnas del archivo de Excel) para leer el valor de la celda en el archivo de origen a una variable y luego escribirlo en una celda en el archivo de destino desde esa variable.
7) Guarde el archivo de destino.
# importing openpyxl module import openpyxl as xl; # opening the source excel file filename ="C:\\Users\\Admin\\Desktop\\trading.xlsx" wb1 = xl.load_workbook(filename) ws1 = wb1.worksheets[0] # opening the destination excel file filename1 ="C:\\Users\\Admin\\Desktop\\test.xlsx" wb2 = xl.load_workbook(filename1) ws2 = wb2.active # calculate total number of rows and # columns in source excel file mr = ws1.max_row mc = ws1.max_column # copying the cell values from source # excel file to destination excel file for i in range (1, mr + 1): for j in range (1, mc + 1): # reading cell value from source excel file c = ws1.cell(row = i, column = j) # writing the read value to destination excel file ws2.cell(row = i, column = j).value = c.value # saving the destination excel file wb2.save(str(filename1))
Archivo fuente:
Producción:
Publicación traducida automáticamente
Artículo escrito por kmaniratha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA