2017-01-20 29 views
0

我想根据字典的索引号做不同的检查。所以,如果索引== 0,做一些事情,否则如果索引> 0,做别的事情。根据csv中的索引检查OrderedDict?

我试图使用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] 
+0

索引什么从csv? – martineau

+0

什么是“字典索引号”?我想你想'枚举' –

回答

0

也许你可以做这样的事情。 (以下示例是用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]) 
+0

你想在这里做什么:'zip(collections.count(),od)'?我想你想枚举(od)' –

+0

感谢cyber-cap和juanpa.arrivillaga。将索引放在行的前面并枚举(od)给出了我想要的。我修正了最初的答案。 – cordaco