Статья Автор: Деникина Н.В., Деникин А.В.

1.1 Данные как таблица — обход строк

Обход строк циклом

Таблица — список словарей. Чтобы что-то посчитать, обходим строки for row in data и берём столбец через row["gross"]. Строк много (5435), поэтому печатаем не всё, а срез data[:5].


Разбор примера


import csv

def load(path):
    rows = []
    with open(path, encoding="utf-8") as f:
        for r in csv.DictReader(f):
            r["year"] = int(r["year"])
            r["score"] = float(r["score"])
            r["runtime"] = int(r["runtime"]) 
            r["budget"] = int(r["budget"])
            r["gross"] = int(r["gross"])
            rows.append(r)
    return rows


data = load("movies.csv")

for row in data[:5]:
    print(row["title"], row["gross"])

Печатает первые 5 фильмов: название и сборы. Первая строка — The Shining 46998772.


▶ Попробуй: запусти. Замени data[:5] на data[:10].



Что вернёт len(data)?


Что напечатает программа (число фильмов)?

data — таблица из movies.csv, загруженная как в тетради (функция load).

n = 0
for row in data:
    n += 1
print(n)

Что напечатает программа (сколько фильмов жанра Action)?

data — таблица из movies.csv, загруженная как в тетради (функция load).

c = 0
for row in data:
    if row["genre"] == "Action":
        c += 1
print(c)

Сопоставь выражение и значение.


Расставь шаги, чтобы посчитать сумму столбца.

Attached files
movies.csv
Печать