【发布时间】:2012-06-11 15:54:08
【问题描述】:
我有一个非常大的 .csv 文件 (10GB),想根据元组中的不同条件提取行。
每行第四列包含 IPAdd
我只需要提取具有特定 IP 的行。
我是 python 新手,想知道如何遍历每个元组 IP 并将它们写入 WYE_Data.csv 文件。
CSV 文件的内容示例是;
xxx,1234,abc,199.199.1.1,1,fghy,xxx
xxx,1234,abc,10.10.1.1,1,fghy,xxx
xxx,1234,abc,144.122.1.1,1,fghy,xxx
xxx,1234,abc,50.200.50.32,1,fghy,xxx
import csv
customers = csv.reader(open('data.csv', 'rb'), delimiter=',')
## This is the line I'm having issues with
IPAdd = ('199.199.1.1' or '144.122.1.1' or '22.22.36.22')
csvout = csv.writer(open('WYE_Data.csv', 'ab'))
for customer in customers:
if customer[3] == IPAdd:
csvout.writerow(customer)
【问题讨论】:
-
您可以使用
grep在文件到达 Python 之前对其进行过滤。 -
如果您要对它进行复杂的查询,您可能需要考虑将这个 csv 更改为一个真实的数据库。 10gb csv 太疯狂了!
标签: python csv python-2.7