【问题标题】:Python - How to loop through rows of text, and replace characters? [duplicate]Python - 如何遍历文本行并替换字符? [复制]
【发布时间】:2020-03-21 05:54:41
【问题描述】:

我似乎无法做到这一点。

我现在有一个名为 text 的 Pandas 系列

它由 105 行文章文本组成。

我想遍历这些行中的每一行并替换某些字符,例如 " 和 -。这是我的代码

cleaned = []
for i in text:
    i.replace('“', '')
    i.replace('”', '')
    i.replace('–', '')
    cleaned.append(i)

但是,当我尝试打印此已清理列表中的文本时,并没有删除上面的字符。我哪里错了?谢谢

for i in cleaned:
    print(i)

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    string.replace() 返回带有替换值的字符串。它不会修改原始文件,因此请执行以下操作:

    for i in text:
        i = i.replace('“', '')
        i = i.replace('”', '')
        i = i.replace('–', '')
        cleaned.append(i)
    

    【讨论】:

      【解决方案2】:

      使用正则表达式来清理您的文本。刚开始时语法可能会有点混乱,但当您需要加强文本清理时,它的功能要强大得多。

      import re
      
      cleaned = []
      for i in text:
          i = re.sub(r'\“', '', i)
          i = re.sub(r'\”', '', i
          i = re.sub(r'_', '', i)
          cleaned.append(i)
      

      您也可以使用

      替换所有非字母和数字
      i = re.sub(r'\W', '', i)
      

      记住 \ 是用于字符转义的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-29
        • 2014-12-15
        • 2018-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多