Python 在观察到N个特殊字符后添加换行符
我有一个要求,其中我有一个CSV文件的数据格式错误。但是,根据管道的数量,我需要添加一个换行符,并准备好数据以供使用 我们可以数一数管道的数量并添加换行符Python 在观察到N个特殊字符后添加换行符,python,python-3.x,Python,Python 3.x,我有一个要求,其中我有一个CSV文件的数据格式错误。但是,根据管道的数量,我需要添加一个换行符,并准备好数据以供使用 我们可以数一数管道的数量并添加换行符\n字符吗 例如: sadasd|asdasd|l||||0sds|sdsds|2||||0sdsd|asdasd|l||||0 预期产出: sadasd|asdasd|l||||0 sds|sdsds|2||||0 sdsd|asdasd|l||||0 . 像这样的 _in = "sadasd|asdasd|l
\n
字符吗
例如:
sadasd|asdasd|l||||0sds|sdsds|2||||0sdsd|asdasd|l||||0
预期产出:
sadasd|asdasd|l||||0
sds|sdsds|2||||0
sdsd|asdasd|l||||0 .
像这样的
_in = "sadasd|asdasd|l||||0sds|sdsds|2||||0sdsd|asdasd|l||||0"
_out = ""
pipeCount = 0
for char in _in:
if pipeCount == 6:
_out = _out+char+"\n"
pipeCount = 0
else:
_out = _out+char
if char == "|":
pipeCount += 1
print(_out)
我不确定我是否理解添加换行符的标准(请参见对问题的评论),但我的输出符合您的期望:
sadasd|asdasd|l||||0
sds|sdsds|2||||0
sdsd|asdasd|l||||0
输出仍然是一个字符串,但您也可以轻松地将其设置为一个字符串列表。起初我认为这可能由正则表达式解决,但现在我不确定。我不太明白你想用什么标准来插入换行符哦。。yoyu的意思是在6个管道后面的“0”后面添加一个换行符吗?为什么不把“0”作为标准呢?或者“|0”?为什么不
mystr.replace(“|124;|124;|0”、“|124; 124;||0\n”)
?使用大写C听起来非常不祥如果我必须为一个文件这样做,我只需要将其读取为变量并应用相同的值。对吗?…使用open或csv
库查看。使用csv
读取csv文件通常是一个很好的开始: