Python CSV数据:如何制表和管理
各位早上好, 我有一个格式错误的字符串列表,请参见以下示例:Python CSV数据:如何制表和管理,python,csv,Python,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/
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/2, Gi1/0/3, Gi1/0/4, Gi1/0/5, Gi1/0/6, Gi1/0/7, Gi1/0/8
authentication open
int range Gi1/0/9, Gi1/0/10, Gi1/0/11, Gi1/0/12, Gi1/0/13, Gi1/0/15, Gi1/0/16, 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\u list
的值将为
['int range Gi1/0/1, Gi1/0/2, Gi1/0/3, Gi1/0/4, Gi1/0/5, Gi1/0/6, Gi1/0/7, Gi1/0/8 authentication open',
'int range Gi1/0/9, Gi1/0/10, Gi1/0/11, Gi1/0/12, Gi1/0/13, Gi1/0/15, Gi1/0/16, Gi1/0/17 authentication open',
'int range Gi1/0/18, Gi1/0/19, Gi1/0/20, Gi1/0/21, Gi1/0/22, Gi1/0/23, Gi1/0/24 authentication open']
非常感谢!!我已经使用您的建议管理了代码,它运行得非常好。我删除了引号,并在我需要的最后一条消息前添加了一行。再次感谢