在Python中的for循环中将长字符串转换为多个短字符串(OpenPyXL模块)
我正在尝试将配置(长字符串)转换为Excel文件中的多个短字符串,但这就是我遇到的问题: 长字符串在Python中的for循环中将长字符串转换为多个短字符串(OpenPyXL模块),python,python-3.x,openpyxl,Python,Python 3.x,Openpyxl,我正在尝试将配置(长字符串)转换为Excel文件中的多个短字符串,但这就是我遇到的问题: 长字符串 edit 20 set status enable set sender-pattern-type default set sender-pattern * set recipient-pattern-type default set recipient-pattern * set sender-ip-type ip-group set sender-ip-group TEST-GROUP-10.
edit 20 set status enable set sender-pattern-type default set sender-pattern * set recipient-pattern-type default set recipient-pattern * set sender-ip-type ip-group set sender-ip-group TEST-GROUP-10.x.x.x/24 set reverse-dns-pattern * set reverse-dns-pattern-regexp no set authenticated any unset tls-profile set action relay set comment 10.x.x.x/24 next edit 21 ... ... ... .. next edit 22 ...
我想要什么
A1 edit 20 set status enable set sender-pattern-type default set sender-pattern * set recipient-pattern-type default set recipient-pattern * set sender-ip-type ip-group set sender-ip-group TEST-GROUP-10.x.x.x/24 set reverse-dns-pattern * set reverse-dns-pattern-regexp no set authenticated any unset tls-profile set action relay set comment 10.x.x.x/24 next
A2 edit 21 ... ... ... .. next
A3 edit 22 ... next
当前代码:
# Long-config output
output = ssh_stdout.readlines()
# Open Workbook
wb = load_workbook('Firewall-config.xlsx')
ws = wb.active
# Create a workbook sheet name.
sheet = wb['Sheet']
start_row = 1
for line in output:
ws.cell(row=start_row, column=1, value =line)
start_row += 1
wb.save("Firewall-config.xlsx")
A1 edit 29
A2 set status enable
A3 set sender-pattern-type default
etc. set sender-pattern *
A13 next
A14 edit 38
Excel文件中的内容:
# Long-config output
output = ssh_stdout.readlines()
# Open Workbook
wb = load_workbook('Firewall-config.xlsx')
ws = wb.active
# Create a workbook sheet name.
sheet = wb['Sheet']
start_row = 1
for line in output:
ws.cell(row=start_row, column=1, value =line)
start_row += 1
wb.save("Firewall-config.xlsx")
A1 edit 29
A2 set status enable
A3 set sender-pattern-type default
etc. set sender-pattern *
A13 next
A14 edit 38
我会使用正则表达式,类似于:
>>重新导入
>>>s=“编辑9 abc def编辑10…….下一次编辑11…”
>>>a=重新拆分(‘(编辑[0-9]+)’,s)
>>>a[1::2]
[‘编辑9’、‘编辑10’、‘编辑11’]
>>>a[2::2]
['abc def'、'…下一个'、'…']