Excelでは、行、列、セルのコピーは日常業務で頻繁に必要とされる操作です。データのレイアウトを素早く調整したり、データのテンプレートをコピーしたり、データのバッチ処理を実行したりするのに役立ちます。
この記事では、Pythonを使ってExcelの行、列、セル範囲を指定した場所にコピーする方法を紹介します。
Python Excelライブラリ
Pythonを使用してExcelファイルを操作するには、Spire.XLS for Pythonライブラリが必要です。このリンクから製品パッケージをダウンロードしてローカルパスからインストールするか、以下のpipコマンドを使用して直接インストールすることができます:
pip install Spire.XLS
PythonでExcelの指定した行をコピーする
Pythonを使ってExcelの指定した場所に行をコピーするには、以下の手順を参照してください:
-
LoadFromFile()
メソッドを使用してExcelファイルをロードする; - 最初のワークシートを取得し、その中でコピーする必要がある行を取得します;
- 2番目のワークシートを取得し、
CopyRow(sourceRow, destSheet, destRowIndex, copyOptions)
メソッドを使用して、指定された行を2番目のワークシートの指定された位置にコピーします; - 列幅を設定し、最後に
SaveToFile()
メソッドを使用して生成されたファイルを保存します。
Pythonのコード:
from spire.xls import *
from spire.xls.common import *
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("道具.xlsx")
# 最初のワークシートを取得する
sheet1 = workbook.Worksheets[0]
# 最初のワークシートでコピーする行を取得する
row = sheet1.Rows[0]
# 2枚目のワークシートの入手
sheet2 = workbook.Worksheets[1]
# 指定された行を2番目のワークシートの最初の行にコピーする
sheet1.CopyRow(row, sheet2, 1, CopyRangeOptions.All)
# 同じ列幅を設定する
columns = sheet1.Columns.Length
for i in range(columns):
column_width = row.Columns[i].ColumnWidth
sheet2.Rows[0].Columns[i].ColumnWidth = column_width
# ファイルを保存する
workbook.SaveToFile("CopyExcelRow.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
PythonでExcelの指定した列をコピーする
Pythonを使ってExcelの列を指定した場所にコピーするには、以下の手順を参照してください:
-
LoadFromFile()
メソッドを使用してExcelファイルをロードする; - 最初のワークシートを取得し、その中からコピーする必要のある列を取得します;
- 2番目のワークシートを取得し、
CopyColumn(sourceColumn, destSheet, destColIndex, copyOptions)
メソッドを使用して、指定された列を2番目のワークシートの指定された場所にコピーする; - 行の高さを設定し、最後に
SaveToFile()
メソッドを使用して生成されたファイルを保存します。
Pythonのコード:
from spire.xls import *
from spire.xls.common import *
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("道具.xlsx")
# 最初のワークシートを取得する
sheet1 = workbook.Worksheets[0]
# コピーする列を取得する
column = sheet1.Columns[1]
# 2枚目のワークシートを取得する
sheet2 = workbook.Worksheets[1]
# 指定された列を2つ目のワークシートの最初の列にコピーする
sheet1.CopyColumn(column, sheet2, 1, CopyRangeOptions.All)
# 同じ行の高さを設定する
rows = column.Rows.Length
for i in range(rows):
row_height = column.Rows[i].RowHeight
sheet2.Columns[0].Rows[i].RowHeight = row_height
# ファイルを保存する
workbook.SaveToFile("CopyExcelColumn.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
PythonでExcelの指定したセル領域をコピーする
Pythonを使ってExcelの指定したセル領域をコピーするには、以下の手順を参照してください:
-
oadFromFile()
メソッドを使用してExcelファイルをロードする; - 最初のワークシートを取得し、その中のコピーする必要のあるセル範囲を取得する;
- 2番目のワークシートを取得し、指定されたセル範囲を取得する;
-
CellRange.Copy(destRange,copyOptions)
メソッドを使用して、ワークシート1のセル領域をワークシート2の指定された場所にコピーする; - 行の高さと列の幅を設定し、最後に
SaveToFile()
メソッドを使用して生成されたファイルを保存します。
Pythonのコード:
from spire.xls import *
from spire.xls.common import *
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("道具.xlsx")
# 最初のワークシートを取得する
sheet1 = workbook.Worksheets[0]
# 指定したセル範囲を取得
range1 = sheet1.Range["D1:G4"]
# 2枚目のワークシートの入手
sheet2 = workbook.Worksheets[1]
# 指定されたセル領域を取得する
range2 = sheet2.Range["B2:E5"]
# 最初のワークシートの指定されたセル領域を、2 番目のワークシートの指定された場所にコピーする
range1.Copy(range2, CopyRangeOptions.All)
# 同じ行の高さと列の幅を設定する
for i, row in enumerate(range1.Rows):
for j, column in enumerate(row.Columns):
range2.Rows[i].Columns[j].ColumnWidth = column.ColumnWidth
range2.Rows[i].RowHeight = row.RowHeight
# ファイルを保存する
workbook.SaveToFile("CopyExcelCells.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
- ウォーターマークを削除するには?クリックして1ヶ月のトライアルライセンスをリクエストしてください。
- 技術的な問題については、フォーラムにアクセスしてください。