記事掲載:https://laptrinhcanban.com/ja
Python でExcel ファイルを処理するトピックの次の記事では、 Python でExcel ファイルを作成する方法を学習します。新しい Excel ファイルを作成し、準備したデータを Excel ファイルに書き込む方法を学習します。また、セルの追加、セルの内容の編集、シートの追加、シートの削除とコピーなどの操作で、Python の openpyxl モジュールを使用して、既存の Excel ファイルを開き、編集し、データを書き込む方法も学習します。
Python で Excel ファイルにデータを書き込むには、次の 2 つの方法があります。
- 新しいExcelファイルを作成し、データを書き込みます
- 既存のExcelファイルを開いてデータを書き込む
Pythonで新しいExcelファイルを作成し、Excelファイルにデータを書き込み
Python で Excel ファイルにデータを書き込むには、新しい Excel ファイルを作成し、そこにデータを書き込みます。
Kiyoshi が以下に用意したカスタム関数を使用します。関数で使用されるパラメーターは次のとおりです。
- input_detail: Excel ファイルに記録される各行に対応するサブリストを含む 2 次元リスト (リスト内のリスト) として Excel ファイルに書き込まれる内容
- output_excel_path: データの保存に使用される新しい Excel ファイルのパス。
import openpyxl |
上記の関数を使用して記録内容を Excel ファイルに保存する必要がある場合は、ファイルに書き込む行の内容を含む 2 次元のリストを作成し、それを上記の関数に渡すだけです。例えば:
input_detail =[['Sản phẩm', 'Mã', 'Số lượng' , 'Giá tiền'],['Áo sơ mi', '1S25H', 1, 23000],['Quần bò', '3325H', 7, 50000],['Áo phông', '16G5H', 45, 70000]] |
その結果、次のように指定された 2 次元リストのコンテンツを含む新しいsample.xlsxのファイルが作成されます。
これは、Python を使用してデータベースにアクセスし((たとえば mysql.connector を使用)、そのデータベースに含まれるデータを抽出して、結果をExcel ファイルに保存する場合に特に便利です。次に、そのデータベースから 2 次元リストの形式でデータを取得し、上記の関数に渡すだけです。
また、Excelファイルに書き込む前のデータを取得する過程で、pprint()関数を使うことで、上記の2次元リストのデータをきれいにスマートに表示・確認することもできます。
Python で既存の Excel ファイルを開き、Excel ファイルにデータを書き込む
新規にExcelファイルを作成してデータを記録するほか、既存のExcelファイルを開いて、行、列、シートなどの追加や削除などの処理を行い、内容を変更することもできます.元のファイルを編集してコンテンツを保存することもできます.
Python で Excel ファイルにデータを書き込むには、まずその Excel ファイルを開いて読み取る必要があります。続行する前に、Python で Excel ファイルを読み取るの記事を参照してください。
それでは実際にやってみましょう。例えば以下のsample.xlsxがあります。
上記の Excel ファイルを開いて、 Sheet1の内容全体を読んだとします。
import openpyxl |
下のように、Python で Excel ファイルにデータを書き込む操作を実行します。
Excel セルの内容を編集するl | cell()メソッド
Python で Excel セルのコンテンツを編集するには、シート内のそのセルにアクセスし、セルの新しい値を置き換えます。
sheet['C1'] = 'abc' |
cell() メソッドを使用して、編集するセルの位置を指定し、次のように新しい値に置き換えることもできます。
#sửa dữ liệu ô C1 |
上記の方法は両方とも、セル内のコンテンツを修正し、次のように同じ結果をもたらします。
pprint.pprint(list(sheet.values), width=40) |
Excelファイルを編集すると、編集結果が画面に出力されることに注意してください。ただし、この結果を Excel ファイルに書き込んでいないため、Excel ファイル自体は変更されていません。
これらの変更を Python で Excel ファイルに記録して保存するには、この記事の最後を参照してください。
Excel セルにテキストを追加 | cell()メソッド
セルにコンテンツがない場合は、次のように上記の 2 つの方法で Python を使用して Excel のセルにコンテンツを追加することもできます。
#thêm dữ liệu ô E1 |
その結果、E1とE2セルは次のようにデータが追加されます。
pprint.pprint(list(sheet.values), width=20) |
PythonでExcelセルを一括編集
次のカスタム関数を使用して、Python を使用して Excel セルを一括で追加または編集できます。
この関数では、編集するセルを含む行の内容を 2 次元リストとして宣言し、セルの編集を同時に開始する位置を指定します。
関数のstart_row, start_col引数は、この位置の行と列を指定するために使用されます。
def write_list_to_Excel(sheet, list_2d, start_row, start_col): |
次の 2 つの行の値を持つ 2 つの行を Excel ファイルに追加するとします。
A B C |
2 次元リストに追加する値を保存し、新しく作成した関数を使用して、A5次のように 5 行 1 列目の位置から Excel ファイルを書き込みます。
list_2d = [['four', 41, 42, 43], ['five', 51, 52, 53]] |
その結果、2 次元リストの値が次のように Excel ファイルのセルに入力されます。
pprint.pprint(list(sheet.values), width=40) |
PythonでExcelのシートを追加| create_sheet()
PythonでExcel にシートを追加するには、次の構文で Workbook クラスの create_sheet() メソッドを使用します。
wb.create_sheet ( 'sheet_name'
)
そこで、sheet_nameはwbワークブックに追加するシート名です。
たとえば、次のようにSheet_newで名前を付けた新しいシートをwbワークブックに追加します。
wb = openpyxl.load_workbook('./user/sample.xlsx') |
PythonでExcelシートをコピー | copy_worksheet()メソッド
PythonでExcel でシートをコピーするには、次の構文で Workbook クラスの copy_worksheet() メソッドを使用します。
wb.copy_worksheet( wb [ 'sheet_name'
] )
そこで、sheet_nameはwbワークブックにコピーするシート名です。
例えば:
wb = openpyxl.load_workbook('./user/sample.xlsx') |
Sheet1 Copyという名前の新しいシートが作成されていることがわかります。このシートの内容をチェックして、元のシートと同じかどうかを確認できます。
pprint.pprint(list(sheet_copy.values)) |
PythonでExcel シートを削除 | remove()メソッド
PythonでExcel でシートを削除するには、次の構文で Workbook クラスの remove() メソッドを使用します。
wb.remove ( wb [ 'remove_sheet_name'
] )
そこで、remove_sheet_nameはwbワークブックから削除するシート名です。
例えば
wb = openpyxl.load_workbook('./user/sample.xlsx') |
PythonでExcel シート名を編集 | title属性
PythonでExcel でシート名を編集するには、次の構文で Workbook クラスのtitle属性を使用します。
sheet.title = 'new_sheet_name'
そこで、new_sheet_nameは新しいシート名です。
たとえば、次のように名前Sheet1をnewsheetに変更します。
wb = openpyxl.load_workbook('./user/sample.xlsx') |
PythonでExcel ファイル名を編集 | os.rename()
Python で Excel ファイル名を編集するには、os モジュールの rename() 関数を使用して、Python の他のファイル タイプと同じようにファイル名を編集します。
例えば:
os.rename('./user/sample.xlsx','./user/test.xlsx') |
- rename() 関数の使用方法の詳細についてはPython でファイルの名前を変更するの記事を参照してください。
Python で Excel ファイルを保存する | save()メソッド
上記のメソッドを使用して Python で Excel ファイルにデータを書き込んだ後、次の構文で Workbook クラスの save() メソッドを使用して、これらの変更を Excel ファイルに保存する必要があります。
wb.save(file_path)
例えば:
wb.save('./user/sample.xlsx') |
次のように Excel ファイルの新しいパスを指定して、ファイルを新しい名前で保存することもできます
wb.save('./user/test.xlsx') |
Python でExcel ファイルを保存するプロセスが完了すると、Pythonで Excel ファイルに書き込んだ編集内容と変更内容が保存され、後で使用できるようになります。
まとめ
上記 Kiyoshi は、Python で Excel ファイルにデータを書き込む方法を案内しています。レッスンの内容をよりよく理解するために、今日の例を書き直す練習をしてください。
そして、次のレッスンで Python の知識についてさらに学びましょう。
URL Link
ホーム › 初心者向けのpython学習>>17. pythonでのcsv・excel