xlsxwriter - 用于创建excel文件的Python模块

时间:2013-12-10 07:23:43

标签: python excel xlsxwriter

我正在使用xlswriter在python中生成Excel文件。我指的是[此链接]以获取教程。

图表系列选项:点下的部分中,我复制了代码并运行它。它可以工作,但我需要删除以下行,因为它们不是必需的。

worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])

这些行给出了单元格A1和B1中textua格式的饼图数据的值,这是我不想要的。

但是当我删除它们时,饼图也会被删除。我不知道为什么。哪里出错了

这是代码。

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_pie.xlsx')

worksheet = workbook.add_worksheet()
chart = workbook.add_chart({'type': 'pie'})

data = [
    ['Pass', 'Fail'],
    [90, 10],
]

worksheet.write_column('A1', data[0])# these lines gets printed on top left corner, which I dont want.
worksheet.write_column('B1', data[1])

chart.add_series({
    'categories': '=Sheet1!$A$1:$A$2',
    'values':     '=Sheet1!$B$1:$B$2',
    'points': [
        {'fill': {'color': 'green'}},
        {'fill': {'color': 'red'}},
    ],
})

worksheet.insert_chart('C3', chart)

workbook.close()

1 个答案:

答案 0 :(得分:1)

我可以将数据添加到另一个工作表中。然后引用该工作表中的数据。

<强>演示

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_line.xlsx')
worksheet = workbook.add_worksheet()
worksheet1 = workbook.add_worksheet()
# Add the worksheet data to be plotted.
data = [10, 40, 50, 20, 10, 50]
worksheet1.write_column('A1', data)

# Create a new chart object.
chart = workbook.add_chart({'type': 'line'})

# Add a series to the chart.
chart.add_series({'values': '=Sheet2!$A$1:$A$6'})

# Insert the chart into the worksheet.
worksheet.insert_chart('C1', chart)

workbook.close()