如果满足条件,Python会写csv

时间:2016-02-21 14:25:20

标签: python csv

我有一个名为y_and_n.csv的文件,它看起来像这样:

Y,13,foo
N,19,bar
Y,37,boo
Y,71,fiz
N,29,buz

在Python中编写保存新文件y_only.csv的代码的最佳方法是什么,它看起来像下面的文字?

Y,13,foo
Y,37,boo
Y,71,fiz

3 个答案:

答案 0 :(得分:0)

我写下以下内容。

yn = open("y_and_n.csv",'r')
y = open("y_only.csv",'w',newline='')

for i in yn:
    if i[0] == 'Y':
        y.write(i)

yn.close()
y.close()

答案 1 :(得分:-1)

普通Python有一个非常好的读/写csv文件模块,名为csv

读者的基本结构是:

import csv
with open('some.csv', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

因此,如果结构只选择要打印的行,则将替换打印(行)分成一个。行是列表,因此您应该使用[]访问列,如第一列的行[0]。

您应该只记得该行被读作字符串列表。

答案 2 :(得分:-1)

与GarethPW的答案有些相似,但使用csv和生成器表达式:

import csv
with open("y_and_n.csv") as open_file:
    rows = list(csv.reader(open_file))

with open("y_only.csv", "w") as open_file:
    writer = csv.writer(open_file)
    writer.writerows(row for row in rows if row[0] == "Y")