Я пытаюсь разрешить проблемы с импортом в dictreader, когда поля не отформатированы так, как ожидалось, заставляя все имена полей в верхнем регистре (или в нижнем регистре) разрешать это.DictReader сменяет ключи на верхние
Вот базовый код, который я использую, хотя я не могу обновить строки в dict.
f = open(sourceFile,'rb')
reader = csv.DictReader(f, dialect='excel')
for r in reader:
r.update(dict((k.upper(), v) for k, v in r.iteritems()))
Желаемый результат - это тот же список словарей, но все ключи будут установлены в верхний регистр.
Мне не хватает «обновления», я прекрасно пишу в новый список. Просто немного расстроился.
Ваш код будет дублировать ключи, те, которые еще не были в верхнем регистре, чтобы начать с. В противном случае он работает нормально, но вы, кажется, не используете * каждую строку. Вы можете просто использовать 'r = dict ((k.upper(), v) для k, v в r.iteritems()), а затем использовать' r' * в этом цикле *, чтобы делать то, что вы хотели сделать. –