我正在从网站上提取一些数据,并希望将其写入 sql-db。
14:30 Data_1
14:31 Data_1
14:32 Data_1
14:33 Data_2
大多数时候数据是静态的,所以我只在数据更改时提交。
14:30 Data_1
14:33 Data_2
问题是我确实错过了数据集更改之前的最后一个时间戳:
14:30 Data_1
14:32 Data_1
14:33 Data_2
有没有一种优雅的方法可以在 sql 中执行此操作?
现在我使用以下代码:
sql = """
INSERT INTO c2g (time, data1, data2, lat, lon, city, geom)
SELECT %(time)s, %(data1)s, %(data2)s, %(lat)s, %(lon)s, %(city)s, st_setsrid(st_makepoint( %(lon)s, %(lat)s), 4326)
WHERE NOT EXISTS
(SELECT 1 FROM c2g WHERE data1= %(data1)s AND lat = %(lat)s AND lon = %(lon)s AND data2= %(data2)s);
"""
它工作正常,但结果并不完全是我需要的:(