从两个文件创建python浮动列表

从两个文件创建python浮动列表,python,csv,Python,Csv,我有两个文件,我将用于打印。一个包含x、y范围,另一个包含数据 下面是我使用CSV阅读器从一个文件中获取数据的代码 (我在.dat范围内的每一行文件中都有x,y\n格式的数据) 现在的问题是,我还需要来自同一行的data.dat的数据,并希望将其附加到[x,y],这样最终的列表将是[x,y,data]。有没有什么方法可以让我在同一个for循环中遍历数据.dat内容。最好是将这两个阅读器放在一起。如果您使用的是Python2,那么应该使用获取生成器;对于Python3,您只需使用zip for r

我有两个文件,我将用于打印。一个包含x、y范围,另一个包含数据

下面是我使用CSV阅读器从一个文件中获取数据的代码

(我在.dat范围内的每一行文件中都有x,y\n格式的数据)


现在的问题是,我还需要来自同一行的
data.dat
的数据,并希望将其附加到[x,y],这样最终的列表将是[x,y,data]。有没有什么方法可以让我在同一个for循环中遍历
数据.dat
内容。

最好是将这两个阅读器放在一起。如果您使用的是Python2,那么应该使用获取生成器;对于Python3,您只需使用
zip

for row, data in itertools.izip(reader, reader1):
    x, y = map(float, row[0:2])
    print [x,y, data]
或者,您也可以在另一个读卡器上调用
next

for row in reader:
    data = next(reader1)
    ...

最好的办法可能是将这两个读者压缩在一起。如果您使用的是Python2,那么应该使用获取生成器;对于Python3,您只需使用
zip

for row, data in itertools.izip(reader, reader1):
    x, y = map(float, row[0:2])
    print [x,y, data]
或者,您也可以在另一个读卡器上调用
next

for row in reader:
    data = next(reader1)
    ...

@希玛,不客气。请注意,在Python2.x上仅使用
zip
时,这将同时读取两个文件并将其内容存储在列表中。如果文件非常大,您应该使用
izip
,这将在内存中每个文件只保留一行。我使用的是python 2.7,但将来我将处理包含数百万此类数据的大型文件,因此itertools.izip将对我产生影响。。最好从现在开始使用它。“一次读取文件”是什么意思?在zip中,它只逐行读取并返回列表,而itertools.izip返回迭代器,对吗?@Hima尝试一下。删除
for
循环,改为执行
打印zip(…)
,或
打印类型(zip(…)
zip将立即读取所有文件,并将内容存储在一个元组大列表中,而Python 3中的
izip
zip
都将创建一个生成器。@Hima不客气。请注意,在Python2.x上仅使用
zip
时,这将同时读取两个文件并将其内容存储在列表中。如果文件非常大,您应该使用
izip
,这将在内存中每个文件只保留一行。我使用的是python 2.7,但将来我将处理包含数百万此类数据的大型文件,因此itertools.izip将对我产生影响。。最好从现在开始使用它。“一次读取文件”是什么意思?在zip中,它只逐行读取并返回列表,而itertools.izip返回迭代器,对吗?@Hima尝试一下。删除
for
循环,改为执行
打印zip(…)
,或
打印类型(zip(…)
zip将立即读取所有文件并将内容存储在一个元组的大列表中,而Python3中的
izip
zip
都将创建一个生成器。