Я питон нооб, но не новичок в программировании. Я много раз искал StackOverflow и не нашел ответа (или не понял, что нашел).Looping через namedtuple
Это то, что я хочу сделать
Возьмите данные из файла CVS (50 полей) в положить в память
Loop через информацию из другого источника
В каждом итерации, петли через информацию CSV, найдите то, что мне нужно, и сделайте что-нибудь вместе с информацией из другого источника.
Я хочу знать, как писать данные CSV в память и как цикл через него внутри другого цикла
Спасибо.
Это насколько я
# -*- coding: UTF-8 -*-
import csv
from urllib import parse
from collections import namedtuple
# set up namedtuple structure
ARecord = namedtuple('ArchiveRecord', ['id', 'post_author', 'post_date']) #plus 50 fields
# load csv info to memory
with open("site-export.csv",encoding="utf-8") as csvfile:
r = csv.reader(csvfile, delimiter='|', quotechar='"')
for arch in map(ARecord._make, r):
print(arch.id) #print to show that something is happening
# loop that gets info from other source
# loop through csv info from memory
# get field values per row by name
# do something together with info from both source
Вы хотите поместить все ваши экземпляры «ARecord» в список? – khelwood
Извините, но я не понимаю вопроса. Я хочу поместить всю информацию CSV в память, которая может быть зациклирована. Я прочитал, что namedtuple - лучший способ сделать это. –
@HananCohen Вы можете рассмотреть 'csv.DictReader': https://docs.python.org/2/library/csv.html#csv.DictReader – abukaj