**我有下面的方法打开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
你的代码应该可以工作。缓慢可能是由于循环中的 "画家Schlemiel "问题造成的(事实上你使用load=True使得这种可能性不大,但这是我看到的唯一可能性)。试着这样重写一下。
for record in table_ventas: table_new.append(record)
这个 应该 使用DBF对象上的标准迭代器,即 应该 已经返回一个 OrderedDict
.
除此之外,你可以尝试将DBF重新编译成其他更有效的访问格式,看看整体时间是否有改善。