Writing to an Excel spreadsheet

后端 未结 12 2060
不知归路
不知归路 2020-11-22 04:39

I am new to Python. I need to write some data from my program to a spreadsheet. I\'ve searched online and there seem to be many packages available (xlwt, XlsXcessive, openpy

12条回答
  •  离开以前
    2020-11-22 05:15

    The xlsxwriter library is great for creating .xlsx files. The following snippet generates an .xlsx file from a list of dicts while stating the order and the displayed names:

    from xlsxwriter import Workbook
    
    
    def create_xlsx_file(file_path: str, headers: dict, items: list):
        with Workbook(file_path) as workbook:
            worksheet = workbook.add_worksheet()
            worksheet.write_row(row=0, col=0, data=headers.values())
            header_keys = list(headers.keys())
            for index, item in enumerate(items):
                row = map(lambda field_id: item.get(field_id, ''), header_keys)
                worksheet.write_row(row=index + 1, col=0, data=row)
    
    
    headers = {
        'id': 'User Id',
        'name': 'Full Name',
        'rating': 'Rating',
    }
    
    items = [
        {'id': 1, 'name': "Ilir Meta", 'rating': 0.06},
        {'id': 2, 'name': "Abdelmadjid Tebboune", 'rating': 4.0},
        {'id': 3, 'name': "Alexander Lukashenko", 'rating': 3.1},
        {'id': 4, 'name': "Miguel Díaz-Canel", 'rating': 0.32}
    ]
    
    create_xlsx_file("my-xlsx-file.xlsx", headers, items)
    


提交回复
热议问题