如何解决CSV数据:如何制表和管理
早安, 我有格式错误的字符串列表,请参见以下示例:
Gi1/0/1,Gi1/0/2,Gi1/0/3,Gi1/0/4,Gi1/0/5,Gi1/0/6,Gi1/0/7,Gi1/0/8,Gi1/0/9,Gi1/0/10,Gi1/0/11,Gi1/0/12,Gi1/0/13,Gi1/0/15,Gi1/0/16,Gi1/0/17,Gi1/0/18,Gi1/0/19,Gi1/0/20,Gi1/0/21,Gi1/0/22,Gi1/0/23,Gi1/0/24
我需要获取一个新列表,其中每行有8个字符串,一个开始消息以及每行之间的一个字符串,如下所示:
int range Gi1/0/1,Gi1/0/8
authentication open
int range Gi1/0/9,Gi1/0/17
authentication open
...等等...
我正在尝试使用csv.reader和writer,但是我不知道如何管理这些数据并获得所需的输出。有想法吗?
谢谢!
解决方法
您可以尝试一下
initial_data = """Gi1/0/1,Gi1/0/2,Gi1/0/3,Gi1/0/4,Gi1/0/5,Gi1/0/6,Gi1/0/7,Gi1/0/8,Gi1/0/9,Gi1/0/10,Gi1/0/11,Gi1/0/12,Gi1/0/13,Gi1/0/15,Gi1/0/16,Gi1/0/17,Gi1/0/18,Gi1/0/19,Gi1/0/20,Gi1/0/21,Gi1/0/22,Gi1/0/23,Gi1/0/24"""
# Splitting and removing whitespaces
# i.e. converting Gi1/0/1,Gi1/0/2 to ["Gi1/0/1","Gi1/0/2"]
data = [i.strip() for i in initial_data.split(",")]
# functions to break the list
# into n elements per list
def chunks(data,n):
chunk = []
for i in range(0,len(data),n):
chunk.append(data[i:i + n])
return chunk
chunked_data = chunks(data,8)
output_list = []
for i in chunked_data:
# adding "int range" and "authentication open"
output_list.append("int range " + ",".join(j for j in i) + " authentication open")
output_list
的值为
['int range Gi1/0/1,Gi1/0/8 authentication open','int range Gi1/0/9,Gi1/0/17 authentication open','int range Gi1/0/18,Gi1/0/24 authentication open']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。