Zasadniczo próbuję skopiować niektóre konkretne kolumny z pliku CSV i wkleić te w istniejącym pliku Excel [*. Xlsx] przy użyciu Pythona. Powiedz na przykład masz plik CSV tak:Zmodyfikuj istniejący plik Excel za pomocą Openpyxl w Pythonie
col_1 col_2 col_3 col_4
1 2 3 4
5 6 7 8
9 10 11 12
Więc chciałem skopiować zarówno col_3 i col_4 i wklej te w col_8 i col_9 w istniejącym pliku excel [który jest formatem .XLSX] . Próbowałem tego w różny sposób, aby rozwiązać, ale nie mogłem znaleźć dokładnego sposobu. Próbowałem coś takiego:
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)
a następnie
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")
ale problem z tym jest to rozwiązanie nie pozwala mi zapisać w formacie * .xlsx, który ściśle wymaganym dla mnie.
Próbowałem używać Openpyxl, ponieważ może on obsługiwać format * .XLSX, ale nie mógł znaleźć sposobu na modyfikację istniejącego pliku Excela. Czy ktoś może ci w tym pomóc?
Wątpliwość: 1) Czy naprawdę możemy odczytać całą kolumnę z pliku CSV i zapisać w tablicy/liście przy użyciu Pythona? 2) Czy możemy zmodyfikować istniejący plik Excela, który jest w formacie .XLSX przy użyciu openpyxl lub jakiejkolwiek innej paczki?
Czy dostał błąd dotyczący roku będącego miech 1900 podczas próby zapisać skoroszyt? – Jesse