gpt4 book ai didi

python - 从 Dbf 到 numpy 数组

转载 作者:行者123 更新时间:2023-12-01 07:36:31 25 4
gpt4 key购买 nike

如何在不使用 arcpy 的情况下将 dbf 转换为 numpy 数组?

我尝试使用dbf库,但我不知道如何从dbf中选择特定列来构建足够的numpy数组.

这是我想要在不使用 arcpy 的情况下重现的脚本:

arr = arcpy.da.TableToNumPyArray(inTable ,("PROVINCE","ZONE_CODE","MEAN", "Datetime","Time"))
arr = sorted(arr,key=lambda x:datetime.strptime(str(x[3]),"%d/%m/%Y %H:%M:%S"))

使用此命令行,我可以选择我想要的列,然后按时间顺序对它们进行排序(这是我的程序的目标)。

这是我用 dbf 库制作的:

arr = dbf.Table(inTable)
arr.open()
arr = sorted(arr,key=lambda x:datetime.strptime(str(x[7]),"%d/%m/%Y %H:%M:%S"))

我不知道如何选择我想要的列,而且编译和排序需要花费很长时间。

感谢您的帮助。

最佳答案

需要注意的一点是,代码片段之间的 arr 并不相同 - 第一个它是一个 numpy array,第二个它是一个 dbf 表格

要得到你想要的:

import dbf
import numpy

table = dbf.Table('some_table.dbf')
table.open()

arr = numpy.array([
(r.province, r.zone_code, r.mean, r.datetime, r.time)
for r in table
])
arr = sorted(arr,key=lambda x:datetime.strptime(str(x[3]).strip(),"%d/%m/%Y %H:%M:%S"))

我不确定性能上会有什么差异。

<小时/>

披露:我是 dbf 的作者包。

关于python - 从 Dbf 到 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56971619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com