Modificar un archivo de Excel existente usando Openpyxl en Python
Básicamente estoy tratando de copiar algunas columnas específicas de un archivo CSV y pegarlas en un archivo existente de excel [*. Xlsx] usando python. Digamos, por ejemplo, que tienes un archivo CSV como este:
col_1 col_2 col_3 col_4
1 2 3 4
5 6 7 8
9 10 11 12
Entonces, quise copiar tanto col_3 como col_4 y pegarlos en col_8 y col_9 en un archivo de excel existente [que es un formato .XLSX]. He intentado esto de varias maneras para resolver, pero no pude encontrar la manera exacta. Probé algo como esto:
with open( read_x_csv, 'rb') as f:
reader = csv.reader(f)
for row in reader:
list1 = row[13]
queue1.append(list1)
list2 = row[14]
queue2.append(list2)
list3 = row[15]
queue3.append(list3)
list4 = row[16]
queue4.append(list4)
y entonces
rb = open_workbook("Exact file path.....")
wb = copy(rb)
ws = wb.get_sheet(0)
row_no = 0
for item in queue1:
if(item != ""):
ii = int(item)
ws.write(row_no,12,ii)
row_no = row_no + 1
#ws.write(item)
print item
else:
ws.write(row_no,12,item)
row_no = row_no + 1
wb.save("Output.xls")
pero el problema con esta solución es que no me permite guardar el formato * .XLSX, que es estrictamente necesario para mí.
He intentado usar Openpyxl ya que puede manejar el formato * .XLSX, pero no pude encontrar una manera de modificar el archivo de Excel existente. ¿Alguien puede ayudar en esto?
Duda: 1) ¿Podemos realmente leer una columna completa de un archivo CSV y almacenarla en una matriz / lista usando Python? 2) ¿Podemos modificar el archivo de Excel existente en formato .XLSX utilizando openpyxl o cualquier otro paquete?