从pandas数据帧单元格中的杂乱字符串中删除换行符?

时间:2017-05-28 13:18:12

标签: python string pandas split

我已经使用多种方法在我的pandas数据框中拆分和删除字符串以删除所有' \ n'字符,但由于某种原因它根本不想删除附加到其他单词的字符,即使我将它们分开。我有一个pandas数据框,其中一列使用Beautifulsoup从网页中捕获文本。已经由beautifulsoup清理了一些文本,但是删除了附加到其他角色的换行符失败了。我的字符串看起来有点像这样:

"实践\ n开发游戏。我们将研究与游戏无关的各种软件技术,包括编程语言,脚本\语言,操作系统,文件系统,网络,模拟\ nengines和多媒体设计系统。我们还将研究计算机科学和相关领域的一些基础科学概念,包括"

是否有一种简单的python方法可以删除这些" \ n"字符?

提前致谢!

5 个答案:

答案 0 :(得分:23)

编辑:对此的正确答案是:

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

我认为你需要replace

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

或者:

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

或者:

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

样品:

text = '''hands-on\ndev nologies\nrelevant scripting\nlang
'''
df = pd.DataFrame({'A':[text]})
print (df)
                                                   A
0  hands-on\ndev nologies\nrelevant scripting\nla...

df = df.replace('\n',' ', regex=True)
print (df)
                                                A
0  hands-on dev nologies relevant scripting lang 

答案 1 :(得分:5)

$client  = new SoapClient($soapWsdl, $options);
    
    // Create order header
    $create = new stdClass();
    $sq = new stdClass();  

    $sq->OrderType = "Order";
    $sq->OrderId = "1111";
     $create->SalesOrderWS = $sq;
    $result = $client->create($create);
    
    
    $key = $result->SalesOrderWS->Key;
    
    $update = new stdClass();
    $sq->Key = $key;
    $sq->CustomerID = "9999";
    
    
    $salesLineList = new stdClass();

     $salesLine = new stdClass();
    $salesLine->Order_Type = 'Order';
    $salesLine->OrderID = '1111';
    $salesLine->LineType = 'Item';
    $salesLine->OrderLineNo = '10000';
    $salesLineList->Sales_Order_Lines_WS[0] = $salesLine;
    $sq->SalesOrderLinesWS = $salesLineList;
    
    $salesLine = new stdClass();
    $salesLine->Order_Type = 'Order';
    $salesLine->OrderID = '1111';
    $salesLine->LineType = 'Item';
    $salesLine->OrderLineNo = '20000';
    $salesLineList->Sales_Order_Lines_WS[1] = $salesLine;
    $sq->SalesOrderLinesWS = $salesLineList;
    
    
    $update->SalesOrderWS = $sq;
    $result = $client->Update($update);

为我工作。

来源:

https://gist.github.com/smram/d6ded3c9028272360eb65bcab564a18a

答案 2 :(得分:2)

删除回车符(\r)、换行符(\n)和制表符(\t

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

答案 3 :(得分:1)

在凌乱的数据中删除所有空格df.replace(r'\s', '', regex = True, inplace = True)可能是个好主意。

答案 4 :(得分:0)

   df = 'Sarah Marie Wimberly So so beautiful!!!\nAbram Staten You guys look good man.\nTJ Sloan I miss you guys\n'

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

这适用于我的混乱数据。