Как распечатать раздел словаря - PullRequest
0 голосов
/ 15 октября 2018

Моя школа дала мне этот код и CSV-файл (не включены здесь) для "изучения".В процессе изучения этого я нашел несколько вещей, о которых хотел спросить.Один, ниже моего кода - распечатка для этой программы, когда я ее запускаю.Если вы заметили, существует пустой LIST, который начинается сразу после операторов импорта.Все же распечатка для программы, кажется, в формате словаря, со значениями ключа и пары.Я все еще пытаюсь выяснить разницу между ними.Я предполагаю, что то, как программа показывает данные, связано с тем, что она импортирует файл значений, разделенных запятыми.Но я до сих пор не до конца понимаю, как все работает вместе, чтобы получить окончательный результат.Подводя итог, я хочу понять, как и почему пустой список распечатывается как словарь в данном случае.

Второе, о чем я хотел спросить, - это правильный метод печати всего списка «Имя».только значения.Это действительно применимо к любому из ключей, потому что, если я просто распечатываю «данные» без каких-либо ограничений, это гигантский системный сбой данных, который пытается загрузить в течение 10 минут без перерыва.Поэтому я хотел включить в цикл вывод каждого значения «Имя» для каждой области индекса.Таким образом, что-то вроде «print (data [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"])

Вывод:

{'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

1 Ответ

0 голосов
/ 15 октября 2018

csv.DictReader возвращает каждую строку файла CSV в виде словаря с ключами, которые являются заголовками столбцов из первой строки CSV и значениями, равными столбцам строки.

Эти словари добавляютсяв список data, так что у вас есть список словарей.

data[0] вернет первый словарь списка.
data[1]['Name'] вернет значение в Nameстолбец для второй строки данных в CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...