ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して元の Excel テーブルに基づいてターゲット Excel テーブルをバッチ生成する明確な記事

Python を使用して元の Excel テーブルに基づいてターゲット Excel テーブルをバッチ生成する明確な記事

WBOY
WBOY転載
2023-04-11 19:30:301323ブラウズ

皆さんこんにちは。私は Python の上級ユーザーです。

1. はじめに

数日前、ファンの問題解決を手伝っていたときに、ちょっとした簡単なリクエストに遭遇しました。ここで共有します。後でまたそのリクエストに遭遇したときは、ここでインスピレーションを得ることができます。

2. 要件の明確化

ファンの質問は実際のニーズから来ています。下の図は元のデータです。別のテーブルのデータを 1 ~ 3 に記入する必要があります。

Python を使用して元の Excel テーブルに基づいてターゲット Excel テーブルをバッチ生成する明確な記事

通常の操作の場合は、Excel ファイルをクリックして各セルをコピーし、新しいファイルに貼り付けて保存し、名前を変更する必要があります。

これは確かに可能ですが、コピーする必要のあるフォルダーが数百ある場合はどうなるでしょうか?数千のファイルはどうなるでしょうか?間違いなく多くの時間とエネルギーが必要になります。 1日では完成しない可能性もあるそうです。

ここではバッチ実装に Python を使用します。

3. 実装プロセス

これは誰にとっても実行可能なコードです。アイデアも非常にシンプルです。openpyxl ライブラリがそれを実装します。コードは次のとおりです:

import openpyxl

workbook1 = openpyxl.load_workbook("模板.xlsx")
worksheet1 = workbook1.worksheets[0]
print(worksheet1['C4'].value)# 金额
print(worksheet1['D4'].value)# 公司
print(worksheet1['F4'].value)# 编号

workbook2 = openpyxl.load_workbook("订单.xlsx")
worksheet2 = workbook2[0]
print(worksheet2['C3'].value)# 城市
print(worksheet2['D3'].value)# 编号
print(worksheet2['CU3'].value)# 金额
print(worksheet2['DM3'].value)# 公司

print(f"正在处理订单:{worksheet2['C3'].value}...")
worksheet1['C4'].value = worksheet2['CU3'].value
worksheet1['D4'].value = f"{worksheet2['DM3'].value}分公司"
worksheet1['F4'].value = worksheet2['D3'].value
new_file_name = f"({worksheet2['C3'].value} {worksheet2['D3'].value})"
workbook1.save(new_file_name + '.xlsx')
print(f"订单:{worksheet2['C3'].value}处理完成")

コードの実行後、Excel ファイル内の対応するデータを置き換えることができます。ただし、これは単一のファイルを置き換えるだけです。

バッチで置換したい場合は、以下に示すように for ループを追加する必要があります:

for i in range(len(worksheet.row)):
print(f"正在第{i}行,处理订单:{worksheet2[f'C{i}'].value}...")
worksheet1['C4'].value = worksheet2[f'CU{i}'].value
worksheet1['D4'].value = f"{worksheet2[f'DM{i}'].value}分公司"
worksheet1['F4'].value = worksheet2[f'D{i}'].value
new_file_name = f"({worksheet2[f'C{i}'].value} {worksheet2[f'D{i}'].value})"
workbook1.save(new_file_name + '.xlsx')
time.sleep(3)
print(f"订单:{worksheet2[f'C{i}'].value}处理完成")

3. 概要

皆さん、こんにちは。 , ピッピです。この記事では主に Python による事務自動化の実践事例をレビューしますが、この事例は実際の業務におけるファイル処理に応用することもできますし、少し改良して実際の業務に活用したり、一例から推測することも可能です。今回の件を通じて、皆さんは多くのことを学んだはずです。他にもっと良い方法があるはずだと思います。メッセージエリアにメッセージを残していただければ幸いです。

以上がPython を使用して元の Excel テーブルに基づいてターゲット Excel テーブルをバッチ生成する明確な記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。