2013-08-23 4 views
-1

"skillsList" "("skillsList "는 기술 목록) 및"IdNo "열이있는 60 개의 레코드가 있습니다. "IdNo 's "의 개수가 얼마나되는지 알고 싶습니다. 공통 기술.파이썬 목록에있는 그룹에 그룹화하기

내가 파이썬에서 할 수있는 방법

가. 내가 특정 목록 항목의 수를 촬영하는 방법. 어떤 도움을 주셔서 감사합니다겠습니까 알고 있지 않다 .

>>> a = open("C:\Users\abc\Desktop\Book2.csv") 
>>> type(a1) 
<type 'str'> 

나는 텍스트의 일부를 인쇄 a1

>>> a1 
'IdNo, skillsList\n1,"u\'Training\', u\'E-Learning\', u\'PowerPoint\', u\'Teaching\', u\'Accounting\', u\'Team Management\', u\'Team Building\', u\'Microsoft Excel\', u\'Microsoft Office\', u\'Financial Accounting\', u\'Microsoft Word\', u\'Customer Service\'"\n2,"u\'Telecommunications\', u\'Data Center\', u\'ISO 27001\', u\'Management\', u\'BS25999\', u\'Technology\', u\'Information Technology...\', u\'Certified PMP\\xae\', u\'Certified BS25999 Lead...\'"\n3,"u\'Market Research\', u\'Segmentation\', u\'Marketing Strategy\', u\'Consumer Behavior\', u\'Experience Working with...\'" 

감사합니다.

+0

을 할 수 있습니까? –

+0

코드에서 지금까지 무엇을 얻었는지 몇 가지 예를 보여줄 수 있습니까? (당신의 "레코드"는 무엇입니까? 사전에 키가 있습니까? 아니면 목록 또는 다른 것입니까?) 또는 지금까지 시도한 것과 어떻게 잘못되었는지를 보여주는 예제 코드를 제공합니까? – usethedeathstar

답변

0

혼자서해야합니다. 당신은 기술의 사전을 사용할 수 있습니다, dic beeing의 각 항목은 0으로 inited. 그런 다음 기록을 반복하고 볼 때 스킬 항목을 증가시킵니다.

0
struct = [{id: 1, skills: ['1', '2', '3']}, {...}] 
for el in struct: 
    if '1' in el.get('skills'): 
     print 'id %s get this skill' % el.get('id') 
0

역 기술 색인을 작성할 수 있습니다. 따라서 각 키를 스킬 이름으로 사용하여 사전을 만들고 키 값은 IdNo 집합입니다. IdNo의이 기술

의 일부 세트가 당신은 또한 찾을 수 있습니다 그런 식으로 코드는 이제 지금 당신이 볼

skills = { 
    'Training': set(1,2,3), 
    'Powerpoint': set(1,3,4), 
    'E-learning': set(9,10,11), 
    ....., 
    ....., 

} 

과 같을 것이다 skills 사전이

skills = {} 
with open('filename.txt') as f: 
    for line in f.readlines(): 
     items = [item.strip() for item in line.split(',')] 
     idNo = items[0] 
     skill_list = items[1:] 
     for skill in skill_list: 
      if skill in skills: 
       skills[skill].add(idNo) 
      else: 
       skills[skill] = set([idNo, ]) 

과 같을 것이다 그 중 1,3,4가 Powerpoint이며, '훈련'과 '파워 포인트'기술을 모두 가지고있는 idNo을 알고 싶다면

skills['Powerpoint'].intersection(skills['Training']) 

당신은 '교육'또는 '파워 포인트'기술 중 하나가 idNo을 알고 싶다면 당신은 구조가 열을 저장하는 데 사용됩니다 무엇

skills['Powerpoint'].union(skills['Training']) 
관련 문제