gpt4 book ai didi

python - AttributeError : 'NoneType' object has no attribute 'groups' - re. 搜索

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:27 25 4
gpt4 key购买 nike

我正在尝试解析 CSV 文件中一行的前 3 个元素。 CSV文件中的数据如下:

{::[name]str1_str2_str3[0]},1,U0.00 - Sensor1 Not Ready\nTry Again,1,0,12

我想从第一个元素解析 [ ] 中的值 0 或 1。然后是第二个元素中的值。从第三个元素开始,我想解析子字符串“Sensor1 Not Ready”,然后将其转换为大写并将空格替换为下划线(例如 - SENSOR1_NOT_READY)。然后在新列中打印字符串。

正如我之前的一篇 question 中所建议的,

我做了以下 -

import csv
import re

with open('filename.csv', 'rb') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
tag_name = row[0] # Column A
bit_num = row[1] # Column B
error_name = row[2] # Column C

term0 = '\[(\d)\].*'
term1 = '(\d+)'
term2 = '.*-\s([\w\s]+)\\n'

capture0 = list(re.search(term0, tag_name).groups())
capture1 = list(re.search(term1, bit_num).groups())
capture2 = list(re.search(term2, error_name).groups())

当我尝试打印 capture2 时,出现以下错误 -

AttributeError: 'NoneType' object has no attribute 'groups'

谁能解释一下它的含义以及我需要进行哪些修改?

最佳答案

如果 re.search 找不到与您的正则表达式匹配的项,它将返回 None。在尝试调用 .groups() 之前,您应该检查 re.search() 的返回值是否返回结果:

result = re.search(term2, error_name)
capture2 = list(result.groups()) if result else None

关于python - AttributeError : 'NoneType' object has no attribute 'groups' - re. 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com