Python错误地引用了csv中的列

时间:2017-09-08 14:33:02

标签: python csv

Python:版本3.6

编辑:Notepad ++

链接到文件:GitHub Repository

尝试引用list.csv

中的各个列

我可以引用整个列,但是当我使用下标时,它只引用一个字符。

以下是代码(link on GitHub

import csv
import re

with open("search_file.csv") as source, open("list.csv") as module_names, open("Final_File.csv","w",newline="") as result:
    reader=csv.reader(source)
    module=csv.reader(module_names)
    writer=csv.writer(result)
    for s in module_names:
        print(s)
        k=s[1]
        l=s[2]
        print(k)
        print(l)

这是输出

choco,Chocolate

h
o
shake,Milkshake

h
a
lime,Lemon Meringue

i
m

然而,这是我正在寻找的输出。我哪里错了?

choco,Chocolate

choco
Chocolate

shake,Milkshake

shake
Milkshake

lime,Lemon Meringue

lime
Lemon Meringue

1 个答案:

答案 0 :(得分:1)

为了迭代CSV的行,您可以遍历读者对象(即module)。

然后,您可以打印以逗号分隔的行以及第一列和第二列(列索引从0开始的位置)。

import csv
import re

with open("search_file.csv") as source, open("list.csv") as module_names, open("Final_File.csv","w") as result:
    reader=csv.reader(source)
    module=csv.reader(module_names)
    writer=csv.writer(result)
    for s in module:
        print(','.join(s))
        print ''
        k=s[0]
        l=s[1]
        print(k)
        print(l)
        print ''