Python:从csv中读取的字典列表中打印特定值

时间:2016-08-04 14:04:46

标签: python csv dictionary

我想知道如何将csv文件读入字典,然后使用python从字典中打印出特定值。 CSV file example。我想抓住所选择的行并打印出那些人的名字。我是新手,我已经尝试了一些循环,但循环过去到最后一个人。

import csv
with open('data.csv') as csvFile:
readCSV = list(csv.DictReader(csvFile))
for row in readCSV:
    person1 = row['firstname'] + ' ' + row['lastname']
with open('nametags8gen.html', 'w+') as myWriteFile:
myWriteFile.write('<!DOCTYPE html> \n'
                  '<html>\n'
                  '<head>\n'
                  '<title>natetag8</title>\n'
                  '<link href="styles/nametags8.css" type="text/css" rel="stylesheet" />\n'
                  '</head>\n'
                  '<body>\n'
                  '<header>\n'
                  '</header>\n'
                  '<main class="mainContainer">\n'
                  '<div class"textBoxContainer">\n'
                  '<div class="textContainer">\n'
                  '<span class="font22">' + person1 +'</span>\n'
                  '<span class="font12">Smith</span>\n'
                  '<span class="font14">Web Developer</span>\n'
                  '<span class="font12">Regis University</span>\n'
                  '<span class="font12">Denver, CO</span>\n'
                  '</div>\n')

这会循环并抓住最后一个人,而不是我需要的特定人。

&#39>写&#39;我将把这些人的信息放在那里,特别是那个说“人”的地方。在我的html模板中,我将从CSV文件中获取名字和姓氏。我不知道如何让循环停在某个人/某行上来提取他们的信息,例如名字或他们的地址。

1 个答案:

答案 0 :(得分:0)

做类似的事情:

import csv
l = []

with open('inputfile.csv') as f:
    reader = csv.DictReader(f)
    for row in reader:
        l.append(row)

# If you need say for example the firstname
for val in l:
    print (l['firstname'])

虽然没有代码仍然不清楚你究竟想要实现什么目标。