gpt4 book ai didi

python - 从 Python 创建 JSON 的更有效方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:31 25 4
gpt4 key购买 nike

我想编写一个 API,它从磁盘上的 CSV 读取(带有 x、y 坐标)并以 JSON 格式输出以由 Web 前端呈现。问题是有很多数据点(30k 的量级),因此从 x 和 y 的 numpy 数组到 JSON 的速度非常慢。

这是我当前获取 JSON 格式数据的函数。有什么办法可以加快这个速度吗?每个 2d 点都有这么大的数据结构似乎非常多余。

def to_json(xdata, ydata):
data = []
for x, y in zip(xdata, ydata):
data.append({"x": x, "y": y})
return data

最佳答案

您可以使用列表理解,例如:

def to_json(xdata, ydata):
return [{"x": x, "y": y} for x, y in zip(xdata, ydata)]

消除了不必要的变量的使用,并且更加干净。

您还可以使用生成器,例如:

def to_json(xdata, ydata):
return ({"x": x, "y": y} for x, y in zip(xdata, ydata))

它们的创建速度非常快,并且对系统的占用很小,几乎不占用内存。最后直到您执行诸如将其转换为列表之类的操作。

由于对象只是 x-y 坐标,我将使用带有 x-y 元组的生成器对象 - 创建速度也更快 - 像这样:

def to_json(xdata, ydata):
return ((x,y) for x, y in zip(xdata, ydata))

编辑:您可以用列表 [] 替换元组,它们是有效的 JSON 数组。

关于python - 从 Python 创建 JSON 的更有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842766/

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