Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何打印出词典的章节_List_Csv_Dictionary_Import - Fatal编程技术网

List 如何打印出词典的章节

List 如何打印出词典的章节,list,csv,dictionary,import,List,Csv,Dictionary,Import,我的学校给了我这个代码和csv文件,没有包括在这里探索。在探索这一点的过程中,我发现了一些我想询问的事情。第一,我的代码下面是这个程序运行时的打印输出。如果您注意到,在import语句之后会出现一个空白列表。然而,该程序的打印输出似乎是字典格式,带有键和对值。我仍在努力找出两者之间的区别。我假设程序显示数据的方式与导入逗号分隔值文件的事实有关。但我仍然不完全理解如何将所有的东西结合起来以获得最终的结果。总而言之,我想了解在本例中,像字典一样打印空白列表的方式和原因 我想问的第二件事是只打印整个名

我的学校给了我这个代码和csv文件,没有包括在这里探索。在探索这一点的过程中,我发现了一些我想询问的事情。第一,我的代码下面是这个程序运行时的打印输出。如果您注意到,在import语句之后会出现一个空白列表。然而,该程序的打印输出似乎是字典格式,带有键和对值。我仍在努力找出两者之间的区别。我假设程序显示数据的方式与导入逗号分隔值文件的事实有关。但我仍然不完全理解如何将所有的东西结合起来以获得最终的结果。总而言之,我想了解在本例中,像字典一样打印空白列表的方式和原因

我想问的第二件事是只打印整个名称值列表的正确方法。这适用于任何键,因为如果我只是不受任何限制地打印数据,这将是一个巨大的、系统崩溃的数据块,连续10分钟试图加载。所以我想在循环中合并,打印出每个索引点的每个名称值。比如printdata[counter][Name],它有一个递增的计数器变量,它在每次打印输出后都会向上提升一个索引。但是,当我试图自己这样做,我无法让它工作。底部的注释代码只是学校放在那里的示例,但这就是我发布的打印输出的结果

import csv
import re
data = []

with open('customerData.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        data.append(row)

print(data[0])
print(data[1]["Name"])
print(data[2]["Spent Past 30 Days"])
输出:

csv.DictReader将csv文件的每一行作为字典返回,其中的键是csv第一行的列标题,值等于该行的列

这些字典被附加到数据列表中,因此您拥有的是一个字典列表

数据[0]将返回列表的第一个字典。
数据[1]['Name']将返回CSV中第二个数据行的名称列中的值。

很高兴知道这一点。我以前没有注意到这种方法,我以前也从未接触过,所以这对我来说是新的。谢谢。@Toph不客气。如果答案是有用的,考虑一下投票和/或接受答案。是的,我会等着看第二部分的答案,但是你做得很好,我可以把它分成另一个帖子。谢谢
{'Member Date': '26/2/2012', 'Zip': '61309', 'Purchases Past 30 Days': '2', 'SSN': '544-48-7885', 'Purchases Past 12 Months': '8', 'Spent Past 12 Months': '$6030.52', 'State': 'WV', 'Spent Past 30 Days': '$943.9000000000001', 'Phone': '(581) 372-8004', 'Gender': 'male', 'Name': 'Steve Bryan', 'Email': 's.Bryan@ru.gov', 'Favorite Radio Station': 'WATT', 'Credit Card_Number': '3491xxxxxxx1481', 'Spent Past 6 Months': '$2099.83', 'Credit Card': 'American Express', 'Credit Card Exp': '02/17', 'Purchases Past 6 Months': '3'}
Dr. Adam Taylor
$3797.13