pythonはフォルダの下のすべてのcsvファイルを読み取り、ファイルの中の経緯に基づいてcsvファイルにgeohashコードを追加します.
pythonフォルダの下にあるすべてのcsvファイルを読み取り、ファイル内の経緯度をgeohash符号化して新規列としてcsvファイルに保存します
コードは以下の通りです:(注:このコード処理csvファイルには、経度と緯度の2列のカラムのないデータしかありません)
csvファイルに経緯度以外のデータが混在している場合、処理コードは以下の通りです(注:次のコードはまだデバッグに成功していません.参考までに)
コードは以下の通りです:(注:このコード処理csvファイルには、経度と緯度の2列のカラムのないデータしかありません)
import geohash as gh
import os
import pandas as pd
for info in os.listdir("E:\geohashData\jwdt1"):#
domain = os.path.abspath(r"E:\geohashData\jwdt1") #
info = os.path.join(domain,info) #
data = pd.read_csv(info,header=None,names=['longitude','latitude'])#
#data1=pd.DataFrame(data,columns=['latitude','longitude'])
data_list=[]
latitude=data["latitude"]
longitude=data["longitude"]
for i in range(1,960357): # , print(data) , low ,
geohash=gh.encode(float(latitude[i-1]),float(longitude[i-1]))#geohash
data_list.append([latitude[i-1],longitude[i-1],geohash])# geohash
df=pd.DataFrame(data_list,columns=['latitude','longitude','geohash'])#
df.to_csv("e:/geohashR/geohashR11.csv",index=None)# csv
csvファイルに経緯度以外のデータが混在している場合、処理コードは以下の通りです(注:次のコードはまだデバッグに成功していません.参考までに)
import geohash as gh
import os
import pandas as pd
for info in os.listdir("E:\geohashData\hashTestData.csv"):#
domain = os.path.abspath(r"E:\geohashData\hashTestData.csv") #
info = os.path.join(domain,info) #
#data = pd.read_csv(info)
data = pd.read_csv(info,header=None,names=['_C0','_C1','_C2','longitude','latitude','_C5','_C6','_C7','_C8','_C9','_C10','_C11','_C12','_C13'])
data
#data1=pd.DataFrame(data,columns=['latitude','longitude'])
data_list=[]
latitude=data["latitude"]
longitude=data["longitude"]
#latitude=data["latitude"]
#print(latitude[1])
for i in range(1,1044273):
try:
geohash=gh.encode(float(latitude[i-1]),float(longitude[i-1]))
data_list.append([_C0[i-1],_C1[i-1],_C2[i-1],longitude1[i-1],latitude[i-1],geohash,_C5[i-1],_C6[i-1],_C7[i-1],_C8[i-1],_C13[i-1]])
except KeyError:
continue
df=pd.DataFrame(data_list,columns=['_C0','_C1','_C2''longitude1','latitude','geohash''_C5','_C6','_C7','_C8','_C13'])
df.to_csv("e:/geohashR/geohashR.csv",index=None)