python - 高效读取DBF文件的方法python
问题描述
**我有以下方法来打开 DBF 文件,但它执行起来很慢,我正在寻找打开大型 DBF 文件,我需要提高我的方法。需要帮忙。谢谢**
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 the Painter”问题引起的(您使用 load=True 的事实使得这不太可能,但这是我看到的唯一可能性)。尝试像这样重写它:
用于 table_ventas 中的记录:table_new.append(record)
这应该在 DBF 对象上使用标准迭代器,它应该已经返回一个OrderedDict
.
除此之外,您可能会尝试将 DBF 重新编译为更有效访问的其他格式,并查看总体时间是否有所改善。
推荐阅读
- python - How to make comparison all column at one in pandas
- python-3.x - ImportError: No module named 'base' django1.8
- asp.net-mvc - Download Multiple Uploaded Files
- sqlite - SQLiteLog Cannot add a NOT NULL column with default value NULL when using Alert table
- vba - Copy and merge columns to new worksheet
- python - 当列在两个值之间时总结 Pandas 数据框
- c# - In C#, how should I deserialize a complete SOAP XML response
- javascript - OpenLayers source.getExtent() / view.fit() does not show entire feature
- html - How to show user count of discord bot in html
- javascript - 未捕获(承诺):FirebaseError