2013-12-10 90 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()