使用Python从文本文件中提取一行信息并将其放入字典中

2024-07-04 08:52:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下格式的行:

Liam "!#123121" 32 "University of Southern California" "1312azasdas"

我想在python中拆分这一行,以便文件中的每一行都有一个nameageuniversity。在上面的例子中,“32”是年龄,“Liam”是名字,“University…”是大学名字。最好的方法是什么


Tags: 文件of方法nameage格式名字例子
2条回答

Regular Expressions!它们一开始让你有点困惑,但它们很棒。这里有太多的内容无法完整解释,但请简要演示您的具体示例:

import re

t = 'Liam "!#123121" 32 "University of Southern California" "1312azasdas"'

nau = re.match('([A-Za-z]+) ".*" ([0-9]+) "([A-Za-z ]+)" .*', t)
nau.groups()

>> ('Liam', '32', 'University of Southern California')

正则表达式的非常简短的分解:

  1. 圆括号内的任何内容都是“组”,即您感兴趣的位
  2. 方括号中的任何内容都表示一个字符集,意思是“匹配这些字符中的任何一个”,而a-Z中的连字符则表示“a和Z之间的任何大写字母”
  3. 方括号后的“+”表示它正在查找集合中的一个或多个字符,仅当它在集合中找到字符而不是时才会停止
  4. “.*”表示匹配任何,但您会注意到我使用的。*都不在组中-它们只是用于在组之间跳过不相关的内容

霍普:那有帮助

使用csv.reader,将空格设置为分隔符,并为引号字符插入"。这是相当简单的,只是试验和测试一点

相关问题 更多 >

    热门问题