首页 > 解决方案 > 如何将 xlsxwriter .add_table() 方法与数据框一起使用?

问题描述

我的数据是数据框'我该怎么做?

import xlsxwriter

workbook = xlsxwriter.Workbook("test1.xlsx")
worksheet = workbook.add_worksheet("sheli22")
worksheet.add_table('B3:F7', {'data': data,'style': 'Table Style Light 17','header_row': False})

workbook.close()

标签: pythondataframexlsxwriter

解决方案


根据涵盖该.add_table()方法的 xlsxwriter 文档部分,它期望“数据结构应该是列表列表”(链接到文档)。

要从您的数据框创建此列表列表,有必要使用.T转置数据框,然后.tolist()将转置后的数据框转换为列表列表。

我使用下面的示例数据框有一个完全可重现的示例。

import pandas as pd
import xlsxwriter

data = pd.DataFrame({'a':[1,2,3,4,5],
                   'b':[2,3,4,5,6],
                   'c':[3,4,5,6,7],
                   'd':[4,5,6,7,8],
                   'e':[5,6,7,8,9]})

workbook = xlsxwriter.Workbook("test1.xlsx")
worksheet = workbook.add_worksheet("sheli22")
worksheet.add_table('B3:F7', {'data': data.values.T.tolist(),'style': 'Table Style Light 17','header_row': False})

workbook.close()

预期输出:

预期 test1.xlsx


推荐阅读