Python 从csv文件中删除换行符

Python 从csv文件中删除换行符,python,csv,Python,Csv,我有一个csv文件,每一行都应该在地理坐标处完成(所以是一个数字)。不知何故,一些线路中断污染了一些线路,所以我想删除它们 由于其他一些行没有问题,计划是删除换行符,并在我的csv文件的行末尾添加一个空格,每次一行没有以数字或“无”结束时(我们无法获得坐标时使用的值) 而不是: www.audiar.org,www.epfbretagne.fr,Agence d'urbanisme,-1.68186449144,48.1119791219,-1.68186449144,48.1119791219

我有一个csv文件,每一行都应该在地理坐标处完成(所以是一个数字)。不知何故,一些线路中断污染了一些线路,所以我想删除它们

由于其他一些行没有问题,计划是删除换行符,并在我的csv文件的行末尾添加一个空格,每次一行没有以数字或“无”结束时(我们无法获得坐标时使用的值)

而不是:

www.audiar.org,www.epfbretagne.fr,Agence
d'urbanisme,-1.68186449144,48.1119791219,-1.68186449144,48.1119791219
www.audiar.org,www.fnau.org,Agence
d'urbanisme,-1.68186449144,48.1119791219,None,None
我需要得到这个:

www.audiar.org,www.epfbretagne.fr,Agence d'urbanisme,-1.68186449144,48.1119791219,-1.68186449144,48.1119791219
www.audiar.org,www.fnau.org,Agence d'urbanisme,-1.68186449144,48.1119791219,None,None

但我必须承认我不知道如何做到这一点。。。我查看了其他一些与我的问题密切相关的帖子。解决方案似乎在使用sed,但我这里没有linux(也不确定是否理解语法),而且我是一个糟糕的python用户…

假设您有两行连续的代码:

>>> line1 = 'www.audiar.org,www.epfbretagne.fr,Agence'
>>> line2 = "d'urbanisme,-1.68186449144,48.1119791219,-1.68186449144,48.1119791219"
尝试将第一行的最后一部分解释为数字或
None
。如果失败,请将下一行连接到它:

import ast

last_part = line1.rsplit(',', 1)[1]  # == 'Agence'

try:
    data = ast.literal_eval(last_part)
except:
    # this line is incorrect
    output = line1 + ' ' + line2
else:
    if isinstance(data, float) or data is None:
        output = line1 # everything is OK
    else:
        raise ValueError("Malformed data!")

# `output` is one processed line

然后将
line2
移动到
line1
并将新行读入
line2
。如果两行连接在一起,则可能需要进行特殊处理,因为“错误”(不是以浮点结尾的行或
None
)可能会在
line2
上继续。冲洗,重复。

读两行,将它们连接起来,作为一行写入新文件,然后读另外两行,将新文件连接起来,作为一行写入,等等。或者读一行,如果可以,则将其写入新文件;如果不可以,则读取下一行,首先连接到新文件,然后写入新文件。然后用剩下的文件再做一遍。谢谢你的主意,但我不能。我想我还不够清楚。文件中的一些行是好的。所以我需要选择错误的。错误的行不是以数字或“无”结尾的行。好的,谢谢,看起来很整洁。现在我只需要找出如何将其应用到我的3000多行中^^^(永远的Elie Kakou)