私は基本的に、CSVファイルからいくつかの特定の列をコピーし、Pythonを使用して既存のExcelファイル[* .xlsx]に貼り付けようとしています。たとえば、次のような CSV ファイルがあるとします。
col_1 col_2 col_3 col_4
1 2 3 4
5 6 7 8
9 10 11 12
そのため、col_3 と col_4 の両方をコピーし、col_8 と col_9 のそれらを既存の Excel ファイル [.XLSX 形式] に貼り付けたいと考えました。これを解決するためにさまざまな方法でこれを試しましたが、正確な方法を見つけることができませんでした。私はこのようなことを試しました:
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)
その後
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")
しかし、このソリューションの問題は、厳密に必要な *.XLSX 形式で保存できないことです。
*.XLSX 形式を処理できる Openpyxl を使用しようとしましたが、既存の Excel ファイルを変更する方法が見つかりませんでした。誰でもこれについて助けてもらえますか?
疑問 : 1) CSV ファイルから列全体を読み取り、Python を使用して配列/リストに格納することは本当に可能でしょうか? 2) openpyxl またはその他のパッケージを使用して、.XLSX 形式の既存の Excel ファイルを変更できますか?