希望这将是我今天的最后一个问题:)
我有一个 csv 文件,其中包含很多行数据,例如:
{"first_name":"John","last_name":"Smith","age":30}
{"first_name":"Tim","last_name":"Johnson","age":34}
我正在使用此代码从文件中获取名字:
with open("c:\\newgood.csv", "r") as fo:
for line in fo:
match = re.search('first_name"(.*?)"(.*?)"', line)
if match:
results = match.group(2)
else:
print('None')
print results
这有效,除非每次我遇到没有 first_name 的行时,它都会返回循环并且无法正确打印。例如,我在文件中的名字记录是:
John Tim Rob Lori Mel (no record) (no record) Carrie Trevor
当我使用上面的代码时,我得到:
John Tim Rob Lori Mel None Mel None Mel Carrie Trevor
如何更正上面的代码以遍历行并在没有 first_name 的地方打印 none 并且不会像它正在做的那样错误地循环返回?
我真的只需要知道如何让上面的代码正确地循环遍历行,而不是因为其他因素而尝试不同的方式。谢谢!