TSV通过Excel在Python中添加隐藏的换行符来处理? 一个基本的Python .format()问题变得非常糟糕

所以我有一个TSV文件,其中包含公园的位置,我试图将其添加到基地GoogleMaps API地址,最终编写一个GeoJSON文件。

这里是什么问题是..我不能得到格式化,以便我的地址基础连接到基地GoogleMaps APIurl。 基本的代码是这样的:

def geocode(address): url = ("http://maps.googleapis.com/maps/api/geocode/json?" "sensor=false&address={0}".format(address.replace(" ", "+"))) print url with open("MovieParksFixed.tsv", "rU") as f: reader = csv.DictReader(f, delimiter = "\t") for line in reader: response = geocode(line['Location']) 

但运行这个输出:

 http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address= Edgebrook+Park,+Chicago+ http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address= Gage+Park,+Chicago+ 

等等,第一行不会连接到第二行。 所以我最终得到的结果是http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address= ,然后是Edgebrook+Park,+Chicago+ ,但是没有关联。

我发誓就像是有一个隐藏的换行符,或者是搞砸了…

我不得不在Excel上手动编辑已parsing的TSV文件的两个单元格中的一个(但现在看起来还不错 – https://github.com/yongcho822/Movies-in-the-park/blob/master/MovieParksFixed。 tsv )…是否把这些东西搞砸了?

注意:原始TSV文件写入时明显由制表符分隔…

在将string插入URLstring之前,请尝试以下操作:

 address.strip().replace(" ", "+") 

strip()方法将删除所有前导和尾随的空白(制表符,换行符,空格等)。 最后一行:

 url = ("http://maps.googleapis.com/maps/api/geocode/json?" "sensor=false&address={0}".format(address.strip().replace(" ", "+")))