Skip to main content
 首页 » 编程设计

Python清理数据

2025年05月04日30Renyi-Fan

我正在尝试从一个大文本文件(大约 3GB)中删除不需要的字符。我正在尝试删除整个文件中不需要的正斜杠和反斜杠。我想在单词之间保留波浪号,它充当分隔符。该文件的格式如下:

Cornet~Chris Tyle 
Cornet\~Warren Vache 
Cornet~Roger Webster 
Cornet~\Grimethorpe Coll//iery Band 
Cornet/~Daniel Rollston 
Cornet~Murley Silver Band 
Chocolate~Chocolate liquor 
Chocolate~Theobroma cacao 
Chocolate~Meso/america 

所以在上面的示例中,我想删除所有的后/前斜杠,以便单词可读(同时保持波浪号)。我会为此使用 Python Regex 表达式吗?另一种可能性是只删除包含斜杠的行,但我想将其作为最后的手段。

**编辑:抱歉忘了提一件事!有些行是这样的:

Chocolate~ 
Chocolate~Theobroma cacao 
         ~Mesoamerica 

除了删除正斜杠和反斜杠之外,我还必须删除波浪号之前或之后的所有为空的行**

感谢您的帮助!

请您参考如下方法:

很简单,只需使用 str.replace()。

注意双 \\,它不是替换双反斜杠,而是一个反斜杠转义另一个反斜杠

代码:

def clean(): 
    with open('example.txt', 'r') as f: 
        outputs = [] 
        for line in f: 
            output = line.replace('/', '') 
            output = output.replace('\\', '') 
            output = output.replace('\n', '') 
            outputs.append(output) 
    return outputs 
 
print(clean()) 

输出:

['Cornet~Chris Tyle', 'Cornet~Warren Vache', 'Cornet~Roger Webster', 'Cornet~Grimethorpe Colliery Band', 'Cornet~Daniel Rollston', 'Cornet~Murley Silver Band', 'Chocolate~Chocolate liquor', 'Chocolate~Theobroma cacao', 'Chocolate~Mesoamerica']