Python 프로젝트 개발 공통 방법 - excel 생성 방법

6133 단어
실제 개발에서 우리는 때때로 데이터 도출의 수요를 만날 수 있다.일반적으로 내보낸 파일 형식은 Excel 형식입니다.
그러면 excel의 생성은 하나의 독립된 공용 방법을 추출하여 실현하기에 적합하다.
 1 def generate_excel(excel_name, title_list, properties, data):
 2     """
 3      excel , , static/files/excels , 
 4     :param excel_name:  ,  
 5     :param title_list:  
 6     :param properties:  , ".property_name" 
 7     :param data:  , query_set
 8     :return:  
 9     """
10     now = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
11     workbook = xlsxwriter.Workbook("{}/{}{}.xlsx".format(EXCEL_DIR, excel_name, now))
12     worksheet = workbook.add_worksheet(excel_name)
13     worksheet.set_first_sheet()
14     for i in range(len(title_list)):
15         worksheet.set_column('{}:{}'.format(chr(65 + i), chr(66 + i)), 20)
16 
17     excel_format = workbook.add_format()
18     excel_format.set_border(1)
19     excel_format.set_align('center')
20     excel_format.set_text_wrap()
21 
22     format_title = workbook.add_format()
23     format_title.set_border(1)
24     format_title.set_bg_color('#cccccc')
25     format_title.set_align('center')
26     format_title.set_bold()
27 
28     #  
29     worksheet.write_row('A1', title_list, format_title)
30     i = 2
31     for datum in data:
32         location = 'A' + str(i)
33         worksheet.write_row(location, [eval("datum.{}".format(key)) for key in properties], excel_format)
34         i += 1
35 
36     workbook.close()
37     file_path = "{}/{}{}.xlsx".format(EXCEL_DIR, excel_name, now)
38     if file_path:
39         os.chmod(file_path, 0777)
40     return file_path

이 방법은 필요한 데이터를 받아들여 excel을 생성하고 최종 경로를 되돌려줍니다.

좋은 웹페이지 즐겨찾기