Python Chart.add_series()无法以编程方式工作
我一直在尝试使用xlsxwriter为我从Python打印到Excel上的一些数据创建图表。但是,由于方法图表的原因,我无法获得结果。add_series()似乎无法识别我的数据 看看我的代码:Python Chart.add_series()无法以编程方式工作,python,xlsxwriter,Python,Xlsxwriter,我一直在尝试使用xlsxwriter为我从Python打印到Excel上的一些数据创建图表。但是,由于方法图表的原因,我无法获得结果。add_series()似乎无法识别我的数据 看看我的代码: row_offset = 0 col_offset = 0 columns = ['Meses ' + str(years[0]), 'Meses ' + str(years[1]), 'Meses ' +str(years[2]),
row_offset = 0
col_offset = 0
columns = ['Meses ' + str(years[0]), 'Meses ' + str(years[1]), 'Meses ' +str(years[2]),
'Trim '+ str(years[0]), 'Trim ' + str(years[1]), 'Trim ' + str(years[2]),
'Año '+ str(years[0]), 'Año ' + str(years[1]), 'Año ' + str(years[2]) ]
index = ['Ene','Feb','Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep',
'Oct', 'Nov','Diciembre', 'I-Trim', 'II-Trim', 'III-Trim', 'IV-Trim', 'Año']
worksheet = workbook.add_worksheet('Comportamiento SIN')
writer.sheets['Comportamiento SIN'] = worksheet
chart = workbook.add_chart({'type': 'column'})
for col_num, value in enumerate(columns):
worksheet.write(row_offset, col_num + 1, value)
for row_num, value in enumerate(index):
worksheet.write(row_num + 1, col_offset, value)
#this prints the info on the image, nreg[j][i] contains a DataFrame
for i in range(len(nreg)):
junk = 0
for j in nreg:
nreg[j][i].loc[:,'DEMANDA'].to_frame().to_excel(writer, 'Comportamiento SIN', startrow = row_offset + 1,
startcol = col_offset + 1, header = False, index = False )
col_offset += 1
if junk == 0:
max_len = len(nreg[j][i].index)
junk += 1
row_offset += max_len
chart.add_series({'value':['Comportamiento SIN', 1,1,12,1]},)
worksheet.insert_chart ('B22', chart)
writer.save()
我在Excel上打印的数据如下所示:
当我执行脚本时,我在writer.save()
处遇到此错误:
例外:图表1必须至少包含一个数据系列。请参见图表。添加_系列()
@jmcnamara的评论是正确的。add_series()中的参数应该是“values”,而不是“value”。可以按如下方式设置值:
chart.add_series({
'values': '=Sheet1!$B$2:$B$8',
'gap': 2,
})
有关详细信息,请参阅。在
添加_series()
中的参数应为值
,而不是值
。