未知字段类型:尝试打开DBF数据库时为64

2024-10-02 20:29:53 发布

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

我试图使用dbf库打开一个dbf文件,将读取的数据发送到生产应用程序API

不幸的是,当我试图打开一个包含需要发送到API的订单的dbf文件时,我得到了以下错误:

File "C:\...\IntegrationEngine.py", line 686, in za00za
    table = dbf.Table(path, codepage='cp852', ignore_memos=True).open()
File "C:\...\site-packages\dbf\__init__.py", line 5526, in __init__
    self._initialize_fields()
File "C:\...\site-packages\dbf\__init__.py", line 6427, in _initialize_fields
    raise BadDataError("Unknown field type: %s" % type)
dbf.BadDataError: Unknown field type: 64

正如我前面提到的,我使用dbf库

import dbf

我正在尝试使用以下行打开dbf数据库:

table = dbf.Table(path, codepage='cp852', ignore_memos=True).open()

我不知道如何处理这样的错误。我试图打开的文件是Trawers ERP应用程序使用的za00za*.dbf文件(通过Tres,这里是演示:https://tres.pl/demo

编辑:

我试图在dbf库的副本中添加一些“调试打印”,所以我添加了

print("Name: %s, Type: %s" % (name, type))

在错误消息上方的几行(dbf lib的init.py中的6427行)中,我找到了“断开”的列:

(a lot of other columns...)
Name: VJEDPRZE, Type: 78
Name: VSYMBOLB, Type: 67
Name: VNRTAB, Type: 67
Name: VRODZKUR, Type: 78
Name: ODMKASTN, Type: 67
Name: CLREASON, Type: 67
Name: CLSYMOP, Type: 67
Name: CLDATE, Type: 64
Traceback (most recent call last):
  File "C:\...\IE_TEST.py", line 5, in <module>
    table = dbf.Table(path, codepage='cp852', ignore_memos=True).open()
  File "C:\...\dbf\__init__.py", line 5526, in __init__
    self._initialize_fields()
  File "C:\...\dbf\__init__.py", line 6428, in _initialize_fields
    raise BadDataError("Unknown field type: %s" % type)
dbf.BadDataError: Unknown field type: 64

有没有办法跳过这个专栏或类似的内容


Tags: 文件nameinpyfieldfieldsinittype