对此很新,很高兴来到这里。
我有一个我正在处理的python脚本,脚本的主要目的是从我的计算机上的.txt文件中获取一个城市列表,并让脚本吐出一个字典,其中键是城市名称并且值是作为点对象的位置。此外,我必须使用这个点对象字典和新文件位置,并将新值写入文本文件,其中包含行中的数据(字典中坐标旁边的城市名称)。
在过去的两周里,我确实花费了大约30个小时的时间,而且仍然没有运气让它完全发挥作用。现在,城市名称和坐标将打印在python shell中,只有城市名称将打印到文本文件中,但我无法将城市名称和坐标组合在一个字典中打印成一个文本文件。
我正在使用名为locations.pyc的python模块,此模块的目的是上网,访问Google服务器,然后引入与列表中的城市名称相关联的坐标。这些城市都在阿拉斯加州。
到目前为止这是脚本。
import location # calls the location module in file
def getFileList(path):
f = open(path, "r")
f.readline()
fileList = [] # removes column header
for line in f:
fileList.append(line.strip())
f.close()
return fileList
class Point:
def __init__(self, x = 0, y = 0):
self.x = float(x)
self.y = float(y)
def makeCitiesDict(citiesList):
CitiesDict = dict()
for city in citiesList:
loc = location.getaddresslocation(city)
x = loc[0]
y = loc[1]
CitiesDict[city] = Point(x, y)
return CitiesDict
def writeDictFile(aDict):
txt_file = open(r"Alaska.txt",'w')
txt_file.writelines(myCitiesDict)
txt_file.close()
myCities = getFileList(r"cities_Small.txt")
myCitiesDict = makeCitiesDict(myCities)
print myCitiesDict
for key in myCitiesDict:
point = myCitiesDict[key]
print point.x,point.y
以下是我尝试使用的.txt城市列表的缩短版本。我不得不缩短它,因为谷歌每天只允许通过IP地址访问1,000个地点。
规范名称 安克雷奇,安克雷奇,阿拉斯加州,美国 安德森,阿拉斯加州,美国 安戈,阿拉斯加州,美国 Atqasuk,阿拉斯加州,美国 巴罗,阿拉斯加州,美国
非常感谢任何帮助!
埃里克