如何从csv删除逗号和括号

时间:2020-07-06 19:46:43

标签: python csv

我正在通过pdf进行解析,并找到位置(城市和国家/地区)的名称,然后查找这些位置的经度和纬度,然后将该信息保存到csv中,并使用该csv制作全局热图以查看位置城市位于pdf中。我遇到的问题是我的经度和纬度以“(lat,lon)”格式保存,将其保存在csv的单个列中。我试图摆脱逗号和括号,因此它将它们分成两个单独的列。这是我当前正在使用的代码:

doc = open("/home/hank/Work/plotting-named-entities-in-python/text.txt",encoding="utf8").read()
places = GeoText(doc) #Uncomment out if you want to do a text file
cities = list(places.cities)

geolocator = Nominatim(timeout=2)

lat_lon = []
for city in cities: 
    try:
        location = geolocator.geocode(city)
        if location:
            #print(location.latitude, location.longitude)
            lat_lon.append(location)
    except GeocoderTimedOut as e:
        print("Error: geocode failed on input %s with message %s"%
             (city, e))
pd.DataFrame(lat_lon).to_csv("/home/hank/Work/file.csv", header=None,index=False)

正在解析文件的地方,然后查找经度和纬度,最后将所有这些数据保存为pdf。

2 个答案:

答案 0 :(得分:0)

您可以从列表中删除一个pd.DataFrame:

lat = [i[0] for i in lat_lon]
lon = [i[1] for i in lat_lon]
data = {'lat': lat, 'lon': lon}
df_lat_lon = pd.DataFrame(data)
df_lat_lon.to_csv("/home/hank/Work/file.csv", header=None,index=False)

答案 1 :(得分:0)

location变量保存一个地理编码对象。 Documentation here

要从存储在对象中的字符串中获取经度和纬度,请使用:

lat = location.latitude
long = location.longitude