Web Development
[Django] 엑셀 데이터 출력 페이지 만들기(5) - 엑셀 파일 업로드, 요약 정보 출력해보기
ISLA!
2023. 8. 2. 17:16
1. 엑셀 파일 업로드와 관련된 html 파일 수정
- action 지정 : "calculate/" 로 연결되게 함
- enctype 지정 : 폼 데이터(form data)를 서버로 전송할 때 데이터의 인코딩 방식을 지정
🧐 프로젝트 폴더인 ExcelCalculate > urls.py 확인
- path('calculate/', include('calculate.urls'), name="calculate")
- 위 패스가 지정되어 있음을 확인 >> 즉, calculate 앱으로 이동한다는 것
👀 calculate > urls.py 확인
- path('', views.calculate, name="calculate_do")
- 즉, 이제 calculate 함수를 정의하면 됨!
2. 함수 정의
- calculate > views.py
- 파일 업로드에 성공하면, 파일 이름을 확인 할 수 있는 코드를 작성
runserver 로 테스트 : 파일 업로드 해보기
1. 터미널 창에 아래 확인
2. 웹페이지 확인
3. 엑셀 파일 value 값 요약하는 함수 정의
- calculate > views.py
- 이어서 함수 작성 : pandas 를 이용함
def calculate(request):
# 파일 받아오기
file = request.FILES['fileInput']
print("사용자가 등록한 파일 이름: ", file)
df = pd.read_excel(file, sheet_name="Sheet1", header=0)
grade_df = df.groupby('grade')['value'].agg(["min", "max", "mean"]).reset_index().rename(columns = {"mean" : "avg"})
print(grade_df)
print("")
df['domain'] = df['email'].apply(lambda x : x.split("@")[1])
email_df = df.groupby('domain')['value'].agg("count").sort_values(ascending=False).reset_index()
print(email_df)
return HttpResponse("calculate, calculate function!")
- 터미널에서 결과 확인
728x90