高效读取DBF文件的方法python

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

**我有下面的方法打开DBF文件,但是执行起来很慢,我想打开大的DBF文件,我需要高效我的方法。需要帮助。Thanksxs **

def lectura_tablas(nombre_tabla):
    table_name=nombre_tabla
    table_ventas = DBF(f'{table_name}', load=True,ignore_missing_memofile=True)
    table_new=[]
    for x in range(0,len(table_ventas.records)):
        table_new.append(OrderedDict(table_ventas.records[x]))
    dataframe= pd.DataFrame(table_new)
    return dataframe
python function dbf
1个回答
0
投票

你的代码应该可以工作。缓慢可能是由于循环中的 "画家Schlemiel "问题造成的(事实上你使用load=True使得这种可能性不大,但这是我看到的唯一可能性)。试着这样重写一下。

for record in table_ventas: table_new.append(record)

这个 应该 使用DBF对象上的标准迭代器,即 应该 已经返回一个 OrderedDict.

除此之外,你可以尝试将DBF重新编译成其他更有效的访问格式,看看整体时间是否有改善。

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