作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
新手 python 查询。
使用 python 2.7.3
尝试以下代码:
#Read in from a file
BNG = csv.reader(open('BNG.csv', 'rU'), delimiter = ',')
BNG.next()
#Get the output file ready
outputFile = open('BNGandLatLon.csv', 'wb')
output=csv.writer(outputFile,delimiter=',')
output.writerow(['Lat', 'Lon', 'E', 'N'])
#Loop through the data
for E,N in BNG:
lat, lon = OSGB36toWGS84(float(E), float(N))
output.writerow([str(lat), str(lon), str(E), str(N)])
#Close the output file
outputFile.close()
但它在 BNG 的迭代中失败了:
ValueError: too many values to unpack
我检查了这个错误(例如 Iterate over a string 2 (or n) characters at a time in Python)并认为它与 for E, N in BNG:
finding one item (E and N) instead of two separate 有关>E
和 N
值。但是我在从 BNG.csv 文件中对此进行编码时遇到了真正的问题。已使用 .item
、zip
和 izip
但未能正确使用。欢迎提供一些帮助。干杯
最佳答案
如错误所示,在文件中的某个位置有一行没有两个元素。找到那条线的简单方法:
i = 0
for E, N in BNG:
print i
i += 1
lat, lon = ...
output.writerow(...)
当脚本出错时,它将打印最后成功的一行——所以检查文件中的下一行。
关于python - ValueError 尝试遍历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937597/
我是一名优秀的程序员,十分优秀!