【发布时间】:2018-04-27 23:54:30
【问题描述】:
我正在尝试将两个列表写入 csv 文件。我尝试了这里列出的几个解决方案:How to write data from two lists into columns in a csv? izip 解决方案对我不起作用。当我尝试它时,我得到了这个错误:
ImportError: cannot import name 'izip'
我能够导入 itertools,只是不能导入 izip。
然后我尝试了 zip 解决方案,但由于某种原因,它最终删除了我原始 csv 文件的内容。原始文件在那里,但现在里面什么都没有。这绝对不是我想要的!
这就是我现在拥有的:
for eas,nor in zip(xUTM, yUTM):
cor=(utm.to_latlon(eas, nor, 20, 'Q'))
treecor.append(cor)
l=list(map(list,zip(*treecor)))
lat=l[0]
lon=l[1]
我想创建一个原始文件的副本,并在副本的末尾添加一个“lat”列和一个“lon”列(按此顺序)。到目前为止我尝试过的解决方案是否有替代方案?
谢谢!
【问题讨论】:
-
您在 Python 3 中使用的是 Python 2 答案。在 Python 3 中,
itertools.izip被重命名为普通的旧内置zip。 -
你没有显示你的文件处理代码——当你说 lat log 列时——你是指每一行吗?您必须用新列完整地写出每一行。
-
您正在通过以写入模式打开文件名来擦除原始文件的内容。如果您正在玩这种东西,我建议您使用不同的输入和输出文件名,直到您可以正常工作为止。
-
我已将 Python 3 的差异编辑为您链接到的问题的公认答案。编辑后的版本是否足以让您清楚了解?
-
啊哈!这就解释了那个!你能解释一下如何使用 zip 吗?或者你能分享一个我应该看的地方吗?