>  기사  >  백엔드 개발  >  Python으로 데이터 일일 보고서를 자동으로 생성하세요!

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

王林
王林앞으로
2023-05-25 17:01:081561검색

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

사실 아주 간단하다고 생각합니다. 일일 보고서의 콘텐츠 템플릿을 조립한 다음 변경 사항을 Python에 제공하여 작성하는 것입니다. 기본적으로 Excel을 처리하려면 Python을 사용해야 합니다. , 단어, ppt 및 기타 관련 라이브러리. 이를 능숙하게 사용하면 전체 프로세스를 자동화할 수 있습니다.

일간지는 대부분의 이주노동자들이 피해갈 수 없는 문제입니다.

매니저들에게 일일보고서는 사전에 관리하고 팀의 분위기와 현황을 파악하는 가장 좋은 방법입니다. 하지만 직원들에게는 할 말이 없습니다. 반복적인 작업의 경우 Python을 사용하여 모듈화하고 자동화하여 효율적인 사무 작업을 수행할 수 있도록 모든 사람에게 적극 권장합니다.

아래에서는 Python 자동화 오피스의 장점을 설명하기 위해 보충 판매 일일 보고서의 사례를 사용합니다. 이 글은 사건의 진행 과정을 단순화시켰으며, 글 마지막 부분에 전체 코드가 첨부되어 있습니다.

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

니즈에 대한 자세한 설명

친구들의 평소 매출 데이터는 엑셀로 기록되며, 요약 후 부서별로 정리됩니다. 그런데 올해 초 리더님이 갑자기 일일보고서를 작성해 달라고 하셔서 한 달 동안 작성을 하다가 확인을 안 하고 작성을 중단하게 되었습니다.

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

이제 갑자기 내일 이달 이전에 일일보고서를 모두 제출해야 하는데, 이는 2월부터 5월까지 거의 120일 간의 일일보고서를 손으로 복사해서 붙여넣으면 토할 것 같습니다. 피. 친구가 일보 작성을 위해 관련 서류를 모두 보냈더니 일보의 최종 효과는 다음과 같았다.

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

따라서 요구 사항은 상대적으로 간단합니다. Excel 테이블에서 일일 데이터를 읽고, Python을 사용하여 처리한 다음, 순서대로 Word 문서에 작성하면 일일 보고서의 일괄 생성이 이루어집니다.

데이터 처리

데이터 처리를 수행하기 전에 먼저 궁극적으로 필요한 데이터가 무엇인지 이해해야 합니다. 아래 그림에서 볼 수 있듯이 대상 일일 단어에는 두 가지 주요 범주가 있습니다. 빨간색으로 표시된 값은 주로 그날의 데이터로 구성되며, 녹색으로 표시된 테이블은 계산 후 얻은 데이터가 더 간단합니다. 즉, 지난 7일간의 데이터(판매수량, 판매금액, 판매목표, 완료도)입니다.

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

먼저 데이터 처리를 위해 Pandas 모듈을 가져옵니다.

import pandas as pd
df = pd.read_excel("日报数据.xlsx")
df

출력 결과:

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

데이터를 가져온 후 필요에 따라 데이터 작업을 수행할 수 있습니다. 데이터 연산은 크게 두 가지로 나뉘는데, 하나는 덧셈+, 뺄셈-, 곱셈*, 나눗셈/을 사용하여 데이터 연산을 수행하는 것이고, 다른 하나는 통계적 방법을 사용하여 데이터 연산을 수행하는 것입니다.

대화형 환경에서 다음 명령을 입력하세요.

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

출력 결과:

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

최종 결과 스크린샷에서 빨간색으로 표시된 데이터 내용이 모두 계산된 것을 확인할 수 있습니다. 녹색으로 표시된 테이블은 훨씬 더 간단합니다. Pandas 모듈에서 데이터 선택을 사용하면 됩니다.

대화형 환경에서 다음 명령을 입력하세요.

num = 10
df.iloc[num-7:num, :5]

출력 결과:

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

이 방법을 사용하면 특정 날짜의 지난 7일 동안의 일일 데이터 수집을 쉽게 얻을 수 있습니다.

일일 보고서 자동 생성

Python을 사용하여 Word 작업을 자동화하는 경우 일반적으로 python-docx 모듈을 사용합니다. 일반적으로 Word 문서를 일괄 생성하는 방법에는 add_paragraph(), add_table() 및 기타 방법을 사용하여 Word에 다양한 내용을 추가합니다. 서류. 다른 하나는 이번에 사용할 내용으로 원본 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")

코드를 실행하고 결과를 출력하세요.

Python으로 데이터 일일 보고서를 자동으로 생성하세요!

위 그림과 같이 120개의 판매 기록 일일 보고서가 Python 자동화 오피스로 작성되었습니다.

전체 코드를 얻는 방법:

링크:​​https://www.php.cn/link/0d5a4a5a748611231b945d28436b8ece​​​

추출 코드: p9iw

Python은 구문이 간단하고 사용하기 쉽기 때문에 "초보자가 배우기에 가장 적합한 프로그래밍 언어"라고 불립니다. 직장에서 반복되는 다양한 컴퓨터 작업의 경우 Python을 사용하여 자동화된 프로그램으로 변환하는 것을 고려할 수 있습니다.

Python 초보자라면 이 글의 논리가 매우 간단하고 심지어 개선할 수도 있다는 것을 알게 될 것입니다. 예를 들어, python-docx 모듈은 Word 문서를 읽는 데 이점이 있지만 템플릿에 텍스트를 작성할 때 docxtpl 모듈 사용을 고려할 수 있습니다(Jinja2 구문을 조금 배우십시오).

위 내용은 Python으로 데이터 일일 보고서를 자동으로 생성하세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제