実際には、非常に単純だと思います。核となるのは、日報のコンテンツ テンプレートを組み立て、変更後の金額を Python に渡して入力することです。 ExcelやWordを処理するには基本的にPythonが必要です。PPTなどに関連するライブラリも必要です。それらを上手に使えば、プロセス全体を自動化できます。
日刊新聞は、ほとんどの移民労働者にとって避けられない問題です。
マネージャーにとって、日報は事前に管理し、チームの雰囲気や状況を把握するのに最適な方法です。しかし、従業員にとっては話すことは何もありません。反復的な作業については、Python を使用してモジュール化して自動化し、効率的なオフィス作業を実現することを強くお勧めします。
営業日報を補足するケースを通して、Python の自動オフィスの利点を実証しましょう。この記事ではこのケースのプロセスを簡略化しており、完全なコードは記事の最後に添付されています。
私の友人のニーズは次のとおりです。普段の売上データを Excel に記録し、集計した後、統計を作成します。部門。ところが、今年の初めにリーダーから突然「日報を書くように」と言われて、1ヶ月書いた後にチェックをしていなかったことに気づき、書くのをやめてしまいました。
明日、急遽今月までの日報をすべて提出することになりました。これは、2月から5月までの日報120日分に相当します。両手でコピペすると多分血を吐きます。友人が日報を書くために関連書類をすべて送ってくれたところ、日報の最終的な効果は次のとおりであることがわかりました。
したがって、要件は比較的単純で、Excel テーブルから毎日のデータを読み取り、Python を使用して処理し、それを Word 文書に書き込むだけです。 、日次レポートをバッチで生成できます。
データ処理を実行する前に、まず最終的に必要なデータを理解する必要があります。下図に示すように、Word で作成した対象日報は主に 2 つのカテゴリに分かれており、赤でマークされた値は主にその日のデータまたは計算後のデータで構成され、緑でマークされた表はより単純なものは、過去7日間のデータ(販売数量、販売金額、販売目標、完成度)です。
まず、データ処理用の Pandas モジュールをインポートします。
import pandas as pd df = pd.read_excel("日报数据.xlsx") df
出力結果:
データをインポートした後、必要に応じてデータ操作を実行できます。データ操作は主に 2 種類に分けられ、1 つは加算、減算、乗算 *、除算を使用してデータ操作を実行する方法、もう 1 つは統計的手法を使用してデータ操作を実行する方法です。
対話型環境で次のコマンドを入力します:
df["日期"] = df["日期"].apply(lambda x:x.strftime("%Y-%m-%d")) df["当日完成度"] = (df["销售金额"]/df["销售目标"]*100).round(1) df["累计销售金额"] = df["销售金额"].cumsum() df["当年完成度"] = (df["累计销售金额"]/2200000*100).round(1) df["累计销售金额"] = (df["累计销售金额"]/10000).round(2) df
出力結果:
ご覧のとおり、最終結果はマークされています。スクリーンショットの赤色部分 データ内容はすべて計算済みです。緑色でマークされたテーブルはさらに単純で、Pandas モジュールのデータ選択を使用するだけです。
対話型環境で次のコマンドを入力します:
num = 10 df.iloc[num-7:num, :5]
出力結果:
毎日の特定のコレクションを簡単に取得できます。その日から過去 7 日以内のデータ。
Python を使って Word を自動操作するには、通常 python-docx モジュールを使用します。Word 文書を一括生成するには、add_paragraph() を使用する方法、add_table(() を使用する方法の 2 つが一般的です。 ) などの方法 Word 文書にさまざまなコンテンツを追加します。もう 1 つは今回使用するもので、元の Word 文書内のテキストと表のデータを位置に応じて置き換えます。
対話型環境で次のコマンドを入力します:
for index, rows in df.iterrows(): if index > 30: doc.paragraphs[0].runs[1].text = rows[0] doc.paragraphs[4].runs[4].text = rows[0] doc.paragraphs[4].runs[6].text = str(rows[1]) doc.paragraphs[4].runs[8].text = str(rows[2]) doc.paragraphs[5].runs[1].text = str(rows[3]) doc.paragraphs[5].runs[3].text = str(rows[4]) doc.paragraphs[9].runs[2].text = str(rows[5]) doc.paragraphs[9].runs[7].text = str(rows[6]) table = doc.tables[0] data_table = df.iloc[index-6:index+1,:5] for i in range(7): for j in range(5): table.cell(i+1,j).text = str(df.iloc[i,j]) doc.save(f"销售日报-{rows[0]}.docx")
コードを実行し、結果を出力します:
図に示すように上記、120部 記録された売上日報が完成しました Pythonの自動オフィスはとても魔法です。
リンク: https://www.php.cn/link/0d5a4a5a748611231b945d28436b8ece
抽出コード: p9iw
Python は構文がシンプルで使いやすいため、「初心者が学ぶのに最も適したプログラミング言語」と言われています。職場で繰り返されるさまざまなコンピューター タスクについては、Python を使用して自動プログラムに変換することを検討できます。
あなたが Python の初心者であれば、この記事のロジックは非常に単純であり、さらに改善することもできることがわかるでしょう。たとえば、python-docx モジュールは Word 文書を読み取る場合に利点がありますが、テキストをテンプレートに書き込む場合は、docxtpl モジュールの使用を検討できます (Jinja2 構文を少し学習してください)。
以上がPythonでデータ日報を自動生成!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。