使用MARCReader()和pym读取MARC数据时出现问题

2024-04-26 13:34:30 发布

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

因此,我正努力自学python和pymarc来完成一个学校项目。我有一个样本marc文件,我试着用这个简单的代码来读它:

from pymarc import *

reader = MARCReader(open('dump.mrc', 'rb'), to_unicode=True)

for record in reader:
    print(record)

for循环只是打印出每个记录,以确保获得正确的数据。唯一的问题是我得到了这个错误:

^{pr2}$

我在网上查了一下,但找不到问题的答案。这个错误是什么意思?我如何着手修复它?提前谢谢。在


Tags: 文件项目代码fromimportfor错误marc
1条回答
网友
1楼 · 发布于 2024-04-26 13:34:30

您可以将python环境设置为支持UTF-8并将record作为字典。在

尝试:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

reload(sys)
sys.setdefaultencoding('utf-8')

from pymarc import *

reader = MARCReader(open('dump.mrc', 'rb'), to_unicode=True, force_utf8=True)
for record in reader:
    print record.as_dict() 

注:

  1. 如果您仍然得到unicode异常,可以设置为_unicode=False并跳过force_utf8=True。

  2. 同时请检查转储.mrc文件是否编码为UTF-8。尝试: $查德特转储.mrc

相关问题 更多 >