У меня есть файл CSV, который я хотел бы прочитать в словаре для последующей вставки в коллекцию MongoDB под названием «Проекты».Чтение первых n строк CSV в словаре
Я совершил это со следующим:
with open('opendata_projects.csv') as f:
records = csv.DictReader(f)
projects.insert(records)
Однако, я нашел мой бедный счет песочницы не может вместить все данные. В свою очередь, я хотел бы прочитать первые строки n, поэтому я могу поиграть с данными и привыкнуть к работе с MongoDB.
Сначала я проверил документы для функции csv.DictReader
:
class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)
Но функция не кажется, что позволяет для ввода числа строк, которые я хотел в качестве параметра.
Так что я попытался сделать это, написав следующий код:
with open('opendata_projects.csv') as f:
records = csv.DictReader(f)
for i in records:
if i <= 100:
projects.insert(i)
который сопровождался ошибкой:
TypeError: unorderable types: dict() <= int()
Это побудило меня посмотреть в словарях дальше, и я обнаружил, что они являются неупорядоченными. Тем не менее, это, кажется, пример из Python csv docs предлагаю я могу перебирать с csv.DictReader
:
with open('names.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'], row['last_name'])
Есть ли способ сделать то, что я хотел бы сделать с помощью этих функций?