报错的行修改为
newtxt=[txt[r][:]+txt[r+1][:] if ((',' not in txt[r][-1])) else txt[r] for r in range(rn) ]
能过,但是原来想处理的情况就不行了,用or连击两个条件
newtxt=[txt[r][:]+txt[r+1][:] if (('\"' not in txt[r][-1]) or ('\"' not in txt[r][-1])) else txt[r] for r in range(rn) ]
也是list out of range,最后再改成
newtxt=[txt[r][:]+txt[r+1][:] if ( ('\"' or ',') not in txt[r][-1]) else txt[r] for r in range(rn) ]
就发现 ('\"' or ',') 这里,谁在前才会生效