.dbf 文件中出现意外的文件结尾 (1AH)
Unexpected End-of-file (1AH) in .dbf file
我正在使用优秀的 dbf
package for Python 从 .dbf 文件中读取数据。该文件由专有 Windows 应用程序生成,我无法访问其源代码。 dbf
表示 .dbf 是一个 Foxpro
文件。
.dbf 文件不断更新,因此我会定期重新阅读它。它包含超过一百万条记录。一切都很好,直到今天,突然收到以下错误:
DbfError: record data not correct -- first character should be a ' ' or a '*'.
仔细检查发现相应记录 (#46448) 的数据现在以 ASCII 字符 26
(0x1A
) 开头。 Wikipedia 表示此字符在 .dbf 文件中用作文件结束标记。为什么这个字符突然出现在文件中间?
还有一个人 forum post 似乎遇到了同样的问题。不幸的是,那里没有给出解决方案。
问题似乎出在创建应用程序上。进一步挖掘显示该字段中只有一条记录带有 0x1A
,并且该应用程序正在正常处理该记录。
我正在使用优秀的 dbf
package for Python 从 .dbf 文件中读取数据。该文件由专有 Windows 应用程序生成,我无法访问其源代码。 dbf
表示 .dbf 是一个 Foxpro
文件。
.dbf 文件不断更新,因此我会定期重新阅读它。它包含超过一百万条记录。一切都很好,直到今天,突然收到以下错误:
DbfError: record data not correct -- first character should be a ' ' or a '*'.
仔细检查发现相应记录 (#46448) 的数据现在以 ASCII 字符 26
(0x1A
) 开头。 Wikipedia 表示此字符在 .dbf 文件中用作文件结束标记。为什么这个字符突然出现在文件中间?
还有一个人 forum post 似乎遇到了同样的问题。不幸的是,那里没有给出解决方案。
问题似乎出在创建应用程序上。进一步挖掘显示该字段中只有一条记录带有 0x1A
,并且该应用程序正在正常处理该记录。