我正在尝试使用openpyxl将有效IP地址列表存储在单元格中。目前,数据只是放置在一个单元中,通常会溢出到其他单元中。使用以下代码:
# Regex to return a tidy list of ip addresses in that block
"""
r = row to be checked
s = source or destination columns
iptc = ips to check
"""
def regex_ips(r, s):
iptc = ['165.11.14.20', '166.22.24.0/24', '174.68.19.11', '165.211.20.0/23']
if r is not None:
if s is not None:
iptc = str(sheet.cell(r, s).value)
san = re.sub('\n', ', ', iptc)
sheet_report.cell(r, 8).value = san
但是,我希望将这些IP地址放入一个下拉列表中,因为这样更容易阅读-所以我的问题是双重的,首先,这可以做到吗?因为我找不到关于它的任何信息,其次,是否有更好的方法来显示数据而不会溢出?
感谢您阅读
编辑:添加了一些示例地址和子网以反映列表中的内容。
答案 0 :(得分:6)
如果您有更多的ips(10+),则更适合先将它们存储到excel中的某个列中,然后将其范围用作数据验证“来源”,也就是Formula1。
d
此处有更多信息:https://openpyxl.readthedocs.io/en/2.5/validation.html
答案 1 :(得分:2)
首先,您必须了解一些Excel功能。有一个名为data validation的文件,通常可以使用下拉菜单来限制数据输入。它可以使用值列表,单元格范围,数值等来限制数据。
了解数据验证之后,请查看library documentation如何使用此Excel功能。