【问题标题】:How to write into excel dynamically using xlsx writer如何使用 xlsx writer 动态写入 excel
【发布时间】:2019-05-13 06:01:30
【问题描述】:

我想使用 xlsx writer 将数据动态写入 excel 文件。我从 mysql db 中获取数据,结果如下所示。

data  = (
    ('Shankar', '100', '100', '200'),
    ('Kumar', '50', '80', '130'),
    ('Shiva', '20', '20', '40'),
    ('Sekar', '20', '20', '40')
)

我想在python中使用xlsxwriter将上述数据写入excel文件。预期结果应如下所示

  Shankar 100  100  200
  Kumar    50   80  130
  Shiva    20   20   40 
  Sekar    20   20   40

请任何人帮助我在 python 中使用xlsxwriter 编写代码

【问题讨论】:

    标签: python excel pandas dataframe xlsxwriter


    【解决方案1】:

    试试这个:

    import xlsxwriter
    
    data  = (('Shankar','100','100','200'),('Kumar','50','80','130'),('Shiva','20','20','40'),('Sekar','20','20','40'))
    
    # Open the workbook and add a worksheet
    workbook = xlsxwriter.Workbook('output.xlsx')
    worksheet = workbook.add_worksheet()
    
    # iterate through your tuple of tuples, and write out each cell 
    for row, x in enumerate(data):
        for col, y in enumerate(x):
            worksheet.write(row, col, y)
    
    # Make sure to close the workbook 
    workbook.close()
    

    这给出了以下output.xlsx

    【讨论】:

      【解决方案2】:

      做这样的事情:

      import xlsxwriter
      workbook = xlsxwriter.Workbook('my_excel.xlsx')
      worksheet = workbook.add_worksheet()
      
      data = (('Shankar','100','100','200'),('Kumar','50','80','130'),('Shiva','20','20','40'),('Sekar','20','20','40'))
      
      ### Iterate over the data and write it out row by row.
      for row, line in enumerate(data):
          for col, cell in enumerate(line):
              worksheet.write(row, col, cell)
      
      workbook.close()
      

      【讨论】:

        【解决方案3】:

        您可以使用pandas

        import pandas as pd
        
        data  = (
            ('Shankar', '100', '100', '200'),
            ('Kumar', '50', '80', '130'),
            ('Shiva', '20', '20', '40'),
            ('Sekar', '20', '20', '40')
        )
        
        # Create a dataframe with the data of interest
        df = pd.DataFrame(data=list(data), columns=['Name', 'Col1', 'Col2', 'Col3'])
        
        # Export the dataframe to a XLSX file, in Worksheet `sheet1`,
        # without the index nor the column names of the dataframe
        df.to_excel('data.xlsx', sheet_name='sheet1', index=False, header=False)
        

        这会将以下内容输出到 data.xlsx

        【讨论】:

        • 高效。为什么列名称?
        猜你喜欢
        • 2023-01-26
        • 2019-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-05
        • 2011-09-16
        • 2022-11-13
        相关资源
        最近更新 更多