2013-12-10 54 views
1

我使用xlswriter在python中生成Excel文件。我指的是[这个链接]的教程。xlswriter - 创建excel文件的Python模块

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

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

我想你不能有图表没有基础数据。你会怎么做excel本身?! – alko

+0

图表被删除的原因是因为图表正在绘制这些单元格的值。这个'= Sheet1!$ A1:$ A $ 2'和'= Sheet1!$ B1:$ B $ 2'指的是这些单元格的值。 –

+0

我明白了,如果没有这些数据,我就无法得到图表,但我不希望将数据打印在单元格A1和B1中。任何建议如何从单元格A1和B1中删除它。谢谢 – PythonEnthusiast

回答

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()