Python 使用字符串替换空行

Python 使用字符串替换空行,python,pandas,replace,Python,Pandas,Replace,我有一个csv,它在某个时候会变成这样: 57926,57927,"79961', 'dsfdfdf'",fdfdfdfd,0.40997048,5 x fdfdfdfd, 57927,57928,"fb0ec52878b165aa14ae302e6064aa636f9ca11aa11f5', 'fdfd'",fdfdfd,1.64948454,20 fdfdfdfd," US " 57928,5

我有一个csv,它在某个时候会变成这样:

  57926,57927,"79961', 'dsfdfdf'",fdfdfdfd,0.40997048,5 x fdfdfdfd,
57927,57928,"fb0ec52878b165aa14ae302e6064aa636f9ca11aa11f5', 'fdfd'",fdfdfd,1.64948454,20 fdfdfdfd,"



                         US 



                "
57928,57929,"f55bf599dba600550de724a0bec11166b2c470f98aa06', 'fdfdf'",fdfdfd,0.81300813,10 fdfdfdfd,"



                         US 







                "
57929,57930,"82e6b', 'reetrtrt'",trtretrtr,0.79783365,fdfdfdf,"



                         NL 
我想去掉这些空行。到目前为止,我尝试了以下脚本:

df = pd.read_csv("scedon_etoimo.csv")

df = df.replace(r'\\n',' ', regex=True)   

因为这是我得到的错误。到目前为止,我还没有清理我的文件,做我想做的事情。我不确定我是否使用了正确的方法。我正在使用pandas处理我的数据集。有什么帮助吗?

我会先
打开
并预处理文件的数据,然后传递给pandas

lines = []
with open('file.csv') as f:
    for line in f:
        if line.strip(): lines.append(line.strip())

df = pd.read_csv(io.StringIO("\n".join(lines)))

根据您提供的文件片段,以下是如何用空字符串替换Pandas存储为NaN的空行

import numpy as np
df = pd.read_csv("scedon_etoimo.csv")
df = df.replace(np.nan, "", regex=True)
这将允许您在基本数据帧上执行所有操作,而无需多次读取文件。尽管如此,我还建议您在加载数据之前对数据进行预处理,因为在非统一布局中处理数据通常更安全。

尝试:

df.replace(to_replace=r'[\n\r\t]', value='', regex=True, inplace=True)
此指令将不使用任何内容替换每个
\n
\r
选项卡。
由于
inplace
参数,无需再次将结果替换为
df

备选方案:使用
来替换=r'\s'
来消除空格,
可能仅在选定的列中。

格式对我来说无效(cols perrow的数量不同)。这是实际文件吗?@Gerasimos,您需要在示例文件的末尾添加一个额外的
。现在,打开的引号将中断读取代码段的尝试。另一个选项是将文件读入数据框,然后使用数据框
apply
或公认答案中的赋值,使用
str.strip
函数进行后期处理:我还尝试了
df.replace('\s+','',regex=True,inplace=True)
并且工作正常。无论如何,谢谢大家的回答!
df.replace(to_replace=r'[\n\r\t]', value='', regex=True, inplace=True)