Python(openpyxl)で、行・列をコピーするソースコードをご紹介します。
ぜひ、お試しください。
列をコピーする(指定列)
以下のコードを実行すると、列の値を複製します。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
i = 1
for row in ws.iter_rows():
for cell in row:
if cell.col_idx == 1:
ws.cell(row=i, column=4).value = cell.value
i = i + 1
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testコピー.xlsx')
A列の値を、D列にコピーします。
[if cell.col_idx == 1:] で、コピー元のA列を指定しています。
列をコピーする(複数列)
以下のコードを実行すると、複数列の値をコピーします。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
#コピーしたい列番号
mylist = [2,3,6]
#貼り付け開始行
i = 1
#貼り付け開始列
j = 8
#配列ループ
for list in mylist:
#行をループ
for row in ws.iter_rows():
#セルをループ
for cell in row:
#配列の数値と同じ列番号だったら
if cell.col_idx == list:
#列をコピー
ws.cell(row=i, column=j).value = cell.value
i = i + 1
i = 1
j = j + 1
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/コピー.xlsx')
B列・C列・F列の値をコピーして、H列から貼り付けます。
「mylist = [2,3,6]」 で、コピーする列番号を指定します。
行をコピーする(指定行)
以下のコードを実行すると、行の値を複製します。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
i = 1
for row in ws.iter_rows():
for cell in row:
if cell.row == 1:
ws.cell(row=9, column=i).value = cell.value
i = i + 1
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testコピー.xlsx')
1行目の値を、9行目にコピーします。
[if cell.row == 1:] で、コピー元の1行目を指定しています。
行をコピーする(複数行)
以下のコードを実行すると、複数行の値をコピーします。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
#コピーしたい行番号
mylist = [2,3,6]
#貼り付け開始行
i = 12
#貼り付け開始列
j = 1
#配列ループ
for list in mylist:
#行をループ
for row in ws.iter_rows():
#セルをループ
for cell in row:
#配列の数値と同じ行番号だったら
if cell.row == list:
#行をコピー
ws.cell(row=i, column=j).value = cell.value
j = j + 1
j = 1
i = i + 1
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/コピー.xlsx')
2行目・3行目・6行目の値をコピーして、12行目から貼り付けます。
「mylist = [2,3,6]」 で、コピーする行番号を指定します。
この記事がお役に立ちますと幸いです。
・【Python】エクセルを自動処理する方法まとめ
【Python】エクセル処理を自動化:超便利55選
...
「Python 1年生 体験してわかる!会話でまなべる!」
初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!
リンク