2016-03-09 124 views
1

我試圖將geopy對象的輸出寫入csv文件,但它將每個字母放在不同的列中,並在不同的行上打印經緯度。我該如何解決這個問題?將Geopy位置寫入CSV文件

我希望能夠在不同的時間運行此功能,並將新地址打印到下一行。保存數據不會覆蓋它。這可以通過在python中編寫csv來完成嗎?

from geopy.geocoders import Nominatim 
import csv 

def loc_find(file): 
''' 
This function take in a user given location and gives back the address with 
city, zip code, state, county and country. 
It also provides latitude and longitude. 
''' 
    geolocator = Nominatim() 
    loc_input = raw_input("Add the location you would like data back for: ") 
    location = geolocator.geocode(loc_input) 
    print(location.address) 
    print((location.latitude, location.longitude)) 

    with open(r"", 'w') as fp: 
     a = csv.writer(fp) 
     data = location 
     a.writerows(data)  

回答

0

那麼,你是通過一個Location對象rows(行對象的列表),你應該把它作爲一個單行。

替換:

a.writerows(location) 

有了:

a.writerow(location) 
+0

這工作得更好,但如果我跑這一個地方「雷德蘭茲」我得到雷德蘭茲,聖貝納迪諾縣,加利福尼亞州,美國( 34.0715385,-117.120993253739)我希望每個人都有自己的專欄。如果在Excel中打開,希望有6列的行 – jeffkrop