2017-05-25 40 views
0

我试图删除大csv文件中的所有URL并用字符串“URL”(所谓的等价标记)替换它。代码做我想要的,但它在一行中聚集/连接一些行。用字符串替换tweet网址

这意味着原始csv有63.000行,输出csv只有55000.这不是我想要的。我如何使用此令牌替换链接并将所有列分开?

#links are replaced with links 

import re 
with open('data_feat1.csv',"r", encoding="utf-8") as oldfile2, open('data_feat2.csv', 'w',encoding="utf-8") as newfile2: 
    for line in oldfile2: 
     line=re.sub(r"http\S+", r"URL", line) #replaces links with "URL" 
     newfile2.write(line) 
newfile2.close() 
+0

您可以发布一些示例数据吗? –

回答

0

解决的办法是增加一个“为 ”URL“:

line=re.sub(r"http\S+", r'URL"', line) #replaces links with "URL" 

我不知道为什么它的工作,但它确实!

0

它工作的原因是因为它使用正则表达式来搜索http

re module处理正则表达式。 re.sub将用第二个参数(URL")代替匹配的正则表达式。

正则表达式正在做的是搜索http以及它后面的所有内容。 “后面的所有内容”由\S+字符指定,这些字符表示“直到空白的所有内容”

请看Pythex。这将是一个学习如何在Python中使用正则表达式的好地方