在xlwings中,如果系列数据的第一个数据为空,数据范围会错误。为了解决这个问题,可以使用xlwings的Range对象的expand方法来动态扩展数据范围,以排除空值。

以下是一个示例代码:

import xlwings as xw

# 假设sheet是已经打开的工作表对象
sheet = xw.Book().sheets['Sheet1']

# 假设data_len是数据长度,xingbie_start_col是数据起始列,data_col是数据所在列,x_col是X轴数据所在列
data_len = 10
xingbie_start_col = 1
data_col = 2
x_col = 3

# 获取系列数据的范围
data_range = sheet.range(numtoexcelrow(xingbie_start_col + data_col) + '3:' + numtoexcelrow(xingbie_start_col + data_col) + str(data_len + 2))

# 使用expand方法动态扩展范围,排除空值
expanded_data_range = data_range.expand()

# 设置图表的数据范围
chart.set_source_data(
    sheet.range(numtoexcelrow(xingbie_start_col + x_col) + '3:' + numtoexcelrow(xingbie_start_col + x_col) + str(data_len + 2)),
    expanded_data_range
)

在上面的示例代码中,我们首先获取系列数据的范围,然后使用expand方法动态扩展范围,排除空值。最后,使用set_source_data方法设置图表的数据范围,其中X轴数据的范围保持不变,Y轴数据的范围使用扩展后的范围

python xlwings设置系列数据时当系列数据第一个数据为空时数据范围会错误chartset_source_datasheetrangenumtoexcelrowxingbie_start_col + data_col + 3 + numtoexcelrowxingbie_start_col + data_col + strdata_len + 2 +

原文地址: https://www.cveoy.top/t/topic/iNIn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录