【发布时间】:2017-09-14 20:14:26
【问题描述】:
接下来我一直在阅读 csv.reader,但没有看到一种方法来比较列中的值从一行到下一行。例如,如果我的数据在 Maps.csv 文件中如下所示:
County1 C:/maps/map1.pdf
County1 C:/maps/map2.pdf
County2 C:/maps/map1.pdf
County2 C:/maps/map3.pdf
County3 C:/maps/map3.pdf
County4 C:/maps/map2.pdf
County4 C:/maps/map4.pdf
如果二线县等于一线县做某事
下面的代码比较行,我想比较当前行和之前行的县值。
import csv.
f = open("Maps.csv", "r+")
ff = csv.reader(f)
pre_line = ff.next()
while(True):
try:
cur_line = ff.next()
if pre_line == cur_line:
print "Matches"
pre_line = cur_line
except:
break
我知道我可以获取当前值(见下文),但不知道如何获取之前的值。这可能吗?如果是这样,有人可以告诉我怎么做。在尝试解决编写脚本以从 csv 文件中附加 pdf 文件的问题的第三天,我将把咖啡杯扔到我的显示器上。我将这些分解成更小的部分,并使用更简单的数据作为试点。我的文件要大得多。有人建议我在此论坛发帖时一次只关注一个问题。这是我的最新一期。似乎无论我采取什么策略,我似乎都无法以我想要的方式读取数据。啊啊啊啊啊。
CurColor = row[color]
使用python 2.7
【问题讨论】:
-
只需将您的 csv 文件读入行列表:
rows = list(ff)。现在您将整个 csv 作为 lsts 列表保存在内存中
标签: python-2.7 csv