foxpro dbf 到 pandas 数据帧转换异常

问题描述 投票:0回答:1

我在 python 脚本中使用 DBF 模块。

我有 dbf 表 invjan24.dbf 包含以下字段

['ACKNO', 'INVNO', 'INVDT', '术语', '时间', '代码', '名称', 'ADD1', 'ADD2', 'ADD3', 'ADD4'、'电话'、'DL20'、'DL21'、'GSTIN'、'FSSAI'、'INVAMT'、'ROFF'、'GROSS'、 'PDAMT'、'DPER'、'CDAMT'、'GSTAMT'、'VAL0'、'VAL12'、'VAL18'、'VAL28'、'VAL5'、 “CGST6”、“SGST6”、“CGST9”、“SGST9”、“CGST14”、“SGST14”、“CGST25”、“SGST25”、 'IGST12'、'IGST18'、'IGST28'、'IGST5'、'REP'、'TRAN'、'ADDLESS'、'CNNO'、'CNAMT'、 'PREBY'、'NOP'、'NOU'、'TCSAMT'、'IGST'、'DUEDT'、'电子邮件'、'CESSAMT'、'类型']

import dbf
import pandas as pd
table = dbf.Table('invjan24.dbf')
table.open(dbf.READ_ONLY)
# convert dbf to pandas dataframe
df = pd.DataFrame(table)

一旦将 dbf 表转换为 pandas 数据帧(特别是在 32 位 Windows 系统中),我就会收到 dbf.exceptions.FieldMissingError,NDIM:表中没有此类字段。我没有使用名为 NDIM 的字段。

以下是异常截图。

python pandas dbf
1个回答
0
投票

该错误可能是由于字段缺失或命名不正确造成的。

您的 DBF 文件中的字段与您尝试在 Python 脚本中访问的字段名称之间可能不匹配。

仔细检查您在 pandas DataFrame 转换中使用的字段名称,确保它们与您的

invjan24.dbf
中的字段完全匹配。

© www.soinside.com 2019 - 2024. All rights reserved.