gpt4 book ai didi

csv - 如何在不使用 aerospike 加载器的情况下在 aerospike 中导入 csv 文件数据?aerospike 加载器是否有任何替代方案?

转载 作者:行者123 更新时间:2023-12-04 22:17:09 26 4
gpt4 key购买 nike

我想在 aerospike 中导入以下 csv 文件数据,并希望触发简单的选择查询以使用 python 作为客户端显示数据

例如

policyID,statecode,county,eq_site_limit,hu_site_limit,fl_site_limit,fr_site_limit,tiv_2011,tiv_2012,eq_site_deductible,hu_site_deductible,fl_site_deductible,fr_site_deductible,point_latitude,point_longitude,line,construction,point_granularity
119736,FL,CLAY COUNTY,498960,498960,498960,498960,498960,792148.9,0,9979.2,0,0,30.102261,-81.711777,Residential,Masonry,1
448094,FL,CLAY COUNTY,1322376.3,1322376.3,1322376.3,1322376.3,1322376.3,1438163.57,0,0,0,0,30.063936,-81.707664,Residential,Masonry,3

query = client.query( 'test', 'csvfile' )
query.select( 'policyID', 'statecode' )

最佳答案

您可以尝试将 python csv 模块与 Aerospike Python 客户端一起使用:

https://docs.python.org/2/library/csv.html

http://www.aerospike.com/docs/client/python/

然后做类似下面的事情:

    import aerospike
import sys
import csv

global rec
rec = {}
csvfile = open('aerospike.csv', "rb")
reader = csv.reader(csvfile)
rownum = 0
for row in reader:
# Save First Row with headers
if rownum == 0:
header = row
else:
colnum = 0
for col in row:
# print (rownum,header[colnum],col)
rec[header[colnum]] = col
colnum += 1
rownum += 1
# print(rownum,rec)
if rec:
client.put(('test', 'demo', str(rownum)), rec)
rec = {}
csvfile.close()

注意:您可能需要检查 header 的大小并确保它们不超过 14 个字符。如果没有,您可以获得以下内容:

error: (21L, 'A bin name should not exceed 14 characters limit', 'src/main/conversions.c', 500)

关于csv - 如何在不使用 aerospike 加载器的情况下在 aerospike 中导入 csv 文件数据?aerospike 加载器是否有任何替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36378076/

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