我正在使用pymarc库。我的问题是,如何处理变量的多个实例,要么构建列表,要么以其他方式遍历它们?
可以通过将字段编号添加到record
变量来访问 MARC 字段。例如,我在一条记录中有三个 856 字段的实例,可以作为record['856']
访问。但只有第一个实例被通过。
record['856'][0]
或record['856'][1]
等分配变量不起作用。
我尝试创建一个列表,如下所示,但这不起作用
from pymarc import MARCReader
with open('file.mrc', 'rb') as fh:
reader = MARCReader(fh)
for record in reader:
"""get all 856 fields -- delete unwanted 856 fields
=856 40$uhttp://url1.org
=856 40$uhttp://url2.org
=856 40$uhttp://url3.org
"""
eight56to956s = []
eight56to956 = record['856']
eight56to956s.append(eight56to956)
print eight56to956s
我知道我会如何在 php 中做到这一点,但我甚至没有了解 python 语法来搜索正确的东西。
你需要一个字典,您可以在其中将 856 设置为键,然后是要标记为 856 的值列表
your_856 = {856: ['=856 40$uhttp://url1.org', '=856 40$uhttp://url2.org', '=856 40$uhttp://url3.org']}
您现在可以像使用index
一样访问值,这是一个示例
print(your_856[856][1])
此输出
=856 40$uhttp://url2.org