【发布时间】:2018-05-10 07:39:09
【问题描述】:
我倾向于比较两列值,例如:
name columnA columnB
hahaha [123] 123
一个带方括号,一个不带方括号。我想验证括号(123)中的内容是否与B列(123)下的值相同
首先读取这些值:
with open('2.csv','rb') as csvfile:
reader3 = csv.DictReader(csvfile)
for row in reader3:
if row['name']== 'hahaha':
b=row['columnA']
c=row['columnB']
我尝试通过以下方式从括号中提取内容:
e = re.findall(r'\[([^]]*)\]',b)
我打印 c 和 e。输出为['123'] [123]
现在我不知道如何制作 ['123'] = [123]
有什么想法吗?谢谢!
【问题讨论】:
-
为什么不:
b = row['columnA'].strip('[]')?然后你可以检查b == c。 -
您的正则表达式绝对不正确。您应该使用这样的捕获组 -
r'\[(.*?)\]',而不是您现在的做法。 -
另外,
re.findall的结果被分配给c,覆盖旧的c值。你是故意的吗? -
我改了这是我的错误@cᴏʟᴅsᴘᴇᴇᴅ
标签: python csv python-2.x