Проверить OrderedDict на основе индекса в CSV?
Я пытаюсь сделать разные проверки на основе номера индекса словаря. Итак, если index == 0, сделайте что-нибудь, в противном случае, если index>0, сделайте что-нибудь еще.
Я пытался использовать OrderedDict
и индексировать его на основе items()
, Но если я скажу, od.items()[0]
, это просто дает мне имя первого элемента. Не умение писать if
условно на основе того, был ли первый элемент уже проверен.
Кроме того, я бы предпочел не проверять мои условия на основе фактического значения в example.csv
файл, так как он будет меняться ежедневно.
Вот мой код и пример данных в файле CSV.
Example.csv
Key_abc, Value894
Key_xyz, Value256
Key_hju, Value_567
Код:
with open('example.csv','rb') as f:
r = csv.reader(f)
od = collections.OrderedDict(r)
for row in od:
if od.items() == 0:
print 'do some checks and run code'
print row, od[row]
elif od.items() > 0:
print 'go through code without checks'
print row, od[row]
1 ответ
Решение
Может быть, вы могли бы сделать что-то вроде этого. (Пример ниже написан в синтаксисе python3).
#ExampleCode
with open('example.csv') as f:
r = csv.reader(f)
od = collections.OrderedDict(r)
for index, row in zip(collections.count(), od):
if index == 0:
print('do some checks and run code')
print(row, od[row])
elif index > 0:
print('go through code without checks')
print(row, od[row])