gpt4 book ai didi

node.js - 如何从 CSV 文件将经纬度值添加到数据库中

转载 作者:行者123 更新时间:2023-11-29 14:27:51 25 4
gpt4 key购买 nike

我的基于 Node 的 Web 应用程序要求用户将经纬度上传为 csv 文件。该文件使用 blob 存储方法上传。但现在我无法将文件直接导入 postgres 数据库,因为该表包含列 ID、创建时间、lat、long,而 csv 文件仅包含 lat 和 long 信息。由于这个原因,该表可能包含以前的值,我猜导入可能不起作用,我猜插入是唯一的选择。

请帮我解决这个问题。

最佳答案

您应该先将经纬度数据导入到临时表中。
如果 lat_long.csv 文件具有以下结构:

lat, long
41.99646, 21.43141
40.24555, 20,24536
39.24152, 25.263634

然后你可以创建一个临时表:

CREATE TABLE lat_long_temp (lat DECIMAL, long DECIMAL);

然后使用以下命令将数据导入表中:

COPY lat_long_temp FROM 'path-to-the-file' CSV HEADER DELIMITER ',';

path-to-the-file 替换为您的 lat_long.csv 文件的路径。

之后,您可以查询此表并将结果添加到表中,方法是为 created_time 列附加一个值。

因此,如果您的结果表如下所示:

CREATE TABLE result_table (
id BIGSERIAL PRIMARY KEY,
created_time TIMESTAMP,
latitude DECIMAL,
longitude DECIMAL
);

您可以使用以下查询从 lat_long_temp 表中插入数据:

INSERT INTO result_table (created_time, latitude, longitude)
SELECT now(), lat, long
FROM lat_long_temp;

请注意,我假设您的 ID 列是一个自动递增的列,因此不需要为该列设置值。如果您的 ID 不是自动生成的,您还必须在该列的插入语句中添加值。

关于node.js - 如何从 CSV 文件将经纬度值添加到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880899/

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