python - 给定名称列表,搜索文本文件,将找到名称的整行保存到新变量中
问题描述
在非结构化文本文件中搜索名称并获取他们的从属关系。
编程新手:给定一个名称列表,我想搜索一个文本文件。找到名称后,我想抓取整行并将其保存到新变量中。然后我想将该变量拆分为第一个逗号的左右两侧并保存为两个新变量(名称和隶属关系)。我不确定这是否是最有效的方法,并且我一直坚持获得有效的代码。
首先,我尝试打印出找到匹配项的每一行。
def search_for_lines(filename):
with open(filename, 'r', encoding="utf8") as f:
for i in range(0, len(full_name)):
for line in f:
if full_name[i] in line:
print(line)
我的输出只有一行包含列表中的第一个名字,所以我假设嵌套 for 循环的逻辑是关闭的。请帮助我了解发生了什么?
先感谢您。
解决方案
对于每一行,检查它是否包含名称。如果是,请保存该行。对于每个保存的行,将其拆分为名称和从属关系。这假定这full_name
是一个字符串列表。
saved_lines = []
with open(filename, 'r', encoding='utf8') as f:
for line in f:
for full in full_name:
if full in line:
saved_lines.append(line)
for line in saved_lines:
name, affiliation = line.split(',')
推荐阅读
- kotlin - 未找到 Kotlin 测试
- php - 当我尝试使用 Laravel 7 live-wire 数据表将超过 100,000 条记录导出到 excel 时,在共享主机上出现 503 服务不可用错误
- c# - C# 9 记录验证
- javascript - 访问会话存储时出现角度js错误
- sql - 筛选数据表单选择 SQL Server
- sql - 一个存储过程中有多个 SQL 语句。超出范围异常
- python - 错误:“模块 cv2.cv2 没有属性”
- python - 删除值 Pandas 列
- modelica - 无法通过 OpenModelica 中的 _ini.xml 更改参数
- amazon-web-services - AWS CloudFormation 导入值