2013-12-10 5 views
1

저는 python으로 엑셀 파일을 생성하기 위해 xlswriter를 사용하고 있습니다. 나는이 튜토리얼을 [이 링크]라고 말하고있다.xlswriter - 엑셀 파일을 만들 파이썬 모듈

차트 시리즈 옵션 : 포인트에서 코드를 복사하고 실행했습니다. 그것은 작동하지만 필요한 다음 줄을 제거해야합니다.

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

난 당신이 데이터를 기초하지 않고 차트를 가질 수 없습니다 같아요. 당신은 어떻게 그 자체로 탁월합니까? – 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()