mydict = dict()
with open("sample.csv") as inputs:
for line in inputs:
if line.startswith("#"):
key = line.strip()[1:]
mydict.setdefault(key,list())
else:
mydict[key].append(line.strip())
result = dict()
for key, vlist in mydict.items():
result[key] = "".join(vlist)
print(result)
首先,
mydict
包含以#开头的键,值是一个列表(list可以保持行的附加顺序),我们在这个列表中追加行,直到找到下一行以#开头。然后我们只需要将行列表转换成一个字符串。在我使用python3,如果使用python2将
mydict.items()
替换为mydict.iteritems()
来迭代键值对输出:
^{pr2}$使用re.findall()函数的最短解:
输出:
^{pr2}$re.findall
将返回元组列表,每个元组包含两个表示两个连续捕获组的项相关问题 更多 >
编程相关推荐