【问题标题】:Print only second row仅打印第二行
【发布时间】:2019-02-07 06:01:24
【问题描述】:

我有 CSV 文件 命名为 names.csv

F_Name | L_Name
Sashi  | Thakur
Rup    | Chand
Nirmal | Kumar

尝试只打印L_Name:

import csv
with open('names.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        #print(row['first_name'], row['last_name'])
        print(row[1])

给我:

密钥错误:2

谢谢

【问题讨论】:

  • 你只想打印姓氏对吗?
  • @Tanmayjain 是的
  • @your 问题标题会误导您,如果您只想打印第二行 remove for 循环并执行 next(reader) #skip first row print(next(reader))#print 2nd row 但显然这不是您想要做的
  • 请不要用一个问题来宣传另一个问题。

标签: python python-3.x csv selenium


【解决方案1】:

根据您的最新评论,您要打印第二列(索引 1)中的姓氏

如果字段名不存在,那么您不应该使用 DictReader,因为它会将第一行中的任何内容作为键

import csv
with open('cs.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
    print(row[1])


#--------------------------------------------------
# fieldnames are present

import csv
with open('cs.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    #print(reader.fieldnames) 
    look_for = reader.fieldnames[1] #since L_name is at index 1
    for row in reader:
        print(row[look_for])

'''
csv file contents
F_Name,L_Name
Sherlock,Holmes
Bruce,Wayne

OrderedDict([('F_Name', 'Sherlock'), ('L_Name', 'Holmes')])
Holmes
OrderedDict([('F_Name', 'Bruce'), ('L_Name', 'Wayne')])
Wayne

['F_Name', 'L_Name']
Holmes
Wayne
'''

【讨论】:

  • 没有给出标题怎么办?
  • @Grass 如果键名未知但位置为,则更新答案
  • 如果字段名也不存在怎么办...?
  • @Grass 所以你想打印第二列?
  • 如果您能通过stackoverflow.com/questions/52121506帮助我,我将不胜感激
【解决方案2】:

索引从 0 开始!因此,要获得第二列,您必须访问 row[1]

【讨论】:

    【解决方案3】:

    您可以使用参数fieldnames 为列指定键名,然后按键名打印每一列。

    import csv with open('names.csv', newline='') as csvfile:
        reader = csv.DictReader(csvfile, fieldnames=['fname', 'lname'])
        for row in reader:
            print(row['lname'])
    

    参考:https://docs.python.org/2/library/csv.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 2017-04-24
      • 2016-03-20
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 2014-03-24
      相关资源
      最近更新 更多