【发布时间】:2019-01-15 04:35:33
【问题描述】:
problem 总结:我有一个包含美国所有邮政编码的文件,文件格式为“ZIP,LATITUDE,LONGITUDE\n' 我想将每一行保存为以下的模型实例:
class ZipCode(models.Model):
zip_code = models.CharField(max_length=7)
latitude = models.DecimalField(decimal_places=6, max_digits =12)
longitude = models.DecimalField(decimal_places=6, max_digits =12)
无需手动手动输入每一个,因为这将花费很长时间。
我的解决方案尝试: 编写一个视图来处理这个一次性任务似乎不是最好的方法,但这是我能想到的,所以我尝试了以下方法:
def update_zipcodes(request):
zip_code_file = open('zip_codes.txt')
#lists to hold zip code, longitude and latitude values:
zip_codes = []
latitude = []
longitude = []
for line in zip_code_file.readlines():
#example line "00601,18.180555, -66.749961"
zipcode, lat, lng = line.strip().split(',')
zip_codes.append(zipcode)
latitude.append(lat)
longitude.append(lng)
#convert lat and long to floats
latitude = [float(i) for i in latitude]
longitude = [float(i) for i in longitude]
counter = 0
for item in zip_codes:
zip_code_object = ZipCode(zip_code=zip_codes[counter],latitude=latitude[counter],longitude=longitude[counter])
zip_code_object.save()
counter= counter+1
return HttpResponse('working')
它返回了cannot find file 'zip_codes.txt',即使我将此文件放在与视图相同的文件夹中。显然我不知道如何实现手头的目标。无论如何要连接到我的数据库并按指定上传值吗? (原始值可以在https://gist.githubusercontent.com/erichurst/7882666/raw/5bdc46db47d9515269ab12ed6fb2850377fd869e/US%2520Zip%2520Codes%2520from%25202013%2520Government%2520Data 看到,我复制并粘贴到 zip_codes.txt)
【问题讨论】:
标签: python database python-3.x sqlite django-models