【发布时间】:2019-02-28 04:48:22
【问题描述】:
我在 unix 系统中有 VSAM 文件。我想在 python 中使用该文件的布局来读取该文件。从 .idx 和 .dta 中,我将 .dta 复制到我的本地计算机并尝试使用以下代码进行读取,
infile = open("myfile.dta","r",encoding="ansi")
for line in infile:
print(line)
没有编码参数,它会给出错误..
"UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 1572"
为了解决这个错误,我在 notepad++ 中打开了文件并检查了编码。现在我可以读取文件并显示数据(我仍然可以看到一些特殊字符)。
现在的主要问题是如何根据提供的布局逐条读取此文件记录。
【问题讨论】:
-
这是大型机 VSAM 文件 ???;是 Cobol Copybook 吗???
-
如果来自大型机,最好将 VSAM 文件复制到大型机上的文本文件(或至少是 VB 文件)并传输此新文件
-
@BruceMartin 这是大型机 VSAM 文件。我无法保存和阅读它,因为我想阅读很多这样的文件,而且这些文件每天都在更新。如果我通过保存来使用它,我将很难获得最新数据。请提出建议。
标签: python-3.x mainframe copybook vsam