xlsxwriter - 从数组生成字符串格式的 Excel 单元格范围?
问题描述
我正在尝试以编程方式使用 xlsx 编写器:
- 将数据集插入 Excel 工作表
- 将与数据集具有相同域的相关不确定性数据(“噪声”)插入工作表
- 创建具有自定义误差线的 Excel 散点图,指向 (2) 中的噪声数据以用作高误差值和低误差值
我发现 error_bar 属性 (plus_values, minus_values) 无法识别 xlsx writer 中其他地方使用的单元格范围 ['sheet name', start_row, start_col, end_row, end_col] 的数组格式。
有没有办法利用模块中必须已经存在的数组->字符串格式的转换功能?(例如xlsxwriter.cell_range(['data', 1,2,252,2])
返回字符串"='data'!$D$2:$D$253"
)
或者,这是一种足够常见的情况,可以更新自定义错误栏功能以支持数组和字符串格式的单元格范围?
请参阅下面的示例代码。
import xlsxwriter
import pandas as pd
import numpy as np
writer = pd.ExcelWriter('err_bar_test.xlsx', engine='xlsxwriter')
x_axis = np.arange(0,8*np.pi,0.1)
y_axis = np.sin(x_axis)
noise = np.random.random_sample(len(x_axis))
df = pd.DataFrame({'axis' : x_axis,
'value': y_axis,
'std_dev' : noise,
} )
df.to_excel(writer, sheet_name='data')
workbook = writer.book
worksheet = writer.sheets['data']
chart = workbook.add_chart({'type': 'scatter'})
worksheet.insert_chart('F2', chart)
chart.add_series({
'values': ['data', 1,2,252,2],
'categories': ['data', 1,1,252,1],
'y_error_bars':{
'type': 'custom',
# This works
'plus_values': "='data'!$D$2:$D$253",
'minus_values': "='data'!$D$2:$D$253",
# This does not work :(
# 'plus_values': ['data',1,3,252,3],
# 'minus_values': ['data',1,3,252,3],
},
'smooth': 'true',
})
writer.save()
解决方案
推荐阅读
- c# - C# UWP 将本地设置保存在另一个文件夹中
- android - 无法在 RecyclerView 中绑定数据
- android - 从密钥库文件生成 APK,但不更改项目
- java - 两个列表在 equals() 函数下相等但具有不同的哈希码?
- html - 仅在活动/聚焦输入元素中用 jQuery 替换文本
- python-3.x - 在python中通过多个条件合并不同数量的行和列
- java - Spring Boot - 无法完成请求 java.lang.OutOfMemoryError:Java 堆空间的处理
- join - asof join 与 Julia 数据工具
- javascript - 你如何在符号@之后自动超链接文本?
- javascript - 如何使幻灯片上的事件向前移动并在 Swiper JS 中向后滑动?