当前位置: 首页 > 面试题库 >

re.sub错误与“预期的字符串或类似字节的对象”

俞子实
2023-03-14
问题内容

我已经阅读了多篇有关此错误的文章,但仍然无法弄清。当我尝试遍历我的函数时:

def fix_Plan(location):
    letters_only = re.sub("[^a-zA-Z]",  # Search for all non-letters
                          " ",          # Replace all non-letters with spaces
                          location)     # Column and row to search

    words = letters_only.lower().split()     
    stops = set(stopwords.words("english"))      
    meaningful_words = [w for w in words if not w in stops]      
    return (" ".join(meaningful_words))

col_Plan = fix_Plan(train["Plan"][0])    
num_responses = train["Plan"].size    
clean_Plan_responses = []

for i in range(0,num_responses):
    clean_Plan_responses.append(fix_Plan(train["Plan"][i]))

这是错误:

Traceback (most recent call last):
  File "C:/Users/xxxxx/PycharmProjects/tronc/tronc2.py", line 48, in <module>
    clean_Plan_responses.append(fix_Plan(train["Plan"][i]))
  File "C:/Users/xxxxx/PycharmProjects/tronc/tronc2.py", line 22, in fix_Plan
    location)  # Column and row to search
  File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python36\lib\re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

问题答案:

如您在评论中所述,某些值似乎是浮点数,而不是字符串。您需要先将其更改为字符串,然后再传递给re.sub。最简单的方法是使用时更改location为。无论如何,这样做已经没有什么害处,即使它已经是。str(location)``re.sub``str

letters_only = re.sub("[^a-zA-Z]",  # Search for all non-letters
                          " ",          # Replace all non-letters with spaces
                          str(location))


 类似资料:
  • 我已经读了很多关于这个错误的帖子,但我仍然无法理解。当我尝试循环遍历我的函数时: 以下是错误:

  • 问题内容: 我想扩展django中的自定义用户模型。我从django官方网站复制粘贴代码。当我想迁移它时会抛出错误 models.py 管理员 错误回溯 0002_auto_20160420_0647.py的内容 问题答案: 您的问题是迁移文件中的以下行: 更改为 要么

  • 请帮助我如何在关于触觉的 行中: 消息gradle Builder中的问题: 错误:错误:类型字符串的预期资源[ResourceType]

  • 问题内容: 需要帮忙。有一个名为arglist的数据列表,例如:[‘dlink’,’des’,‘1210’,’c’,24] <-这就是“打印”视图。 这段代码: 它给: 怎么了? 问题答案: 当json.loads需要一个字符串时,您正在尝试加载文件对象。您可以使用 或者更好: 在第一个示例中,文件是打开的,但从未关闭(不好的做法)。在第二个示例中,上下文管理器在离开上下文块后关闭文件。

  • 我有这个问题,当我生成签名apk: F:\。。。\app\src\main\java\com\palletdesign\clipdooni\Activity\u VideoPlay。java错误:错误:类型为字符串[ResourceType]的预期资源 这是活动视频游戏。java(这部分代码的错误):

  • 我试图编写一个程序,其中我必须做与模板(本质上是一个字符串)之间的字符串列表的比较。我不知道什么是使用的术语,但它将是更多的日志刮削程序,如果这是有帮助的。 null 这个想法是将输入语句(1-4)与模板字符串(a-b)匹配,如果它们匹配,那么我需要对它们进行操作。Like 1和4匹配句子b,但2不匹配。 提前感谢您的帮助/指示。