2016-07-12 2 views
1

У меня есть некоторые CSV данные, выглядит следующим образом:питон скрипт, чтобы вырезать копию данных CSV

724 "Overall evaluation: 2 
Invite to interview: 2 
Strength or novelty of the idea (1): 3 
Strength or novelty of the idea (2): 3 
Strength or novelty of the idea (3): 2 
Use or provision of open data (1): 3 
Use or provision of open data (2): 3 
""Open by default"" (1): 2 
""Open by default"" (2): 2 
Value proposition and potential scale (1): 3 
Value proposition and potential scale (2): 4 
Market opportunity and timing (1): 3 
Market opportunity and timing (2): 4 
Triple bottom line impact (1): 4 
Triple bottom line impact (2): 3 
Triple bottom line impact (3): 2 
Knowledge and skills of the team (1): 4 
Knowledge and skills of the team (2): 4 
Capacity to realise the idea (1): 4 
Capacity to realise the idea (2): 4 
Capacity to realise the idea (3): 3 
Appropriateness of the budget to realise the idea: 4" 
724 "Overall evaluation: 1 
Invite to interview: 1 
Strength or novelty of the idea (1): 2 
Strength or novelty of the idea (2): 2 
Strength or novelty of the idea (3): 3 
Use or provision of open data (1): 2 
Use or provision of open data (2): 2 
""Open by default"" (1): 3 
""Open by default"" (2): 3 
Value proposition and potential scale (1): 2 
Value proposition and potential scale (2): 2 
Market opportunity and timing (1): 2 
Market opportunity and timing (2): 2 
Triple bottom line impact (1): 2 
Triple bottom line impact (2): 2 
Triple bottom line impact (3): 1 
Knowledge and skills of the team (1): 4 
Knowledge and skills of the team (2): 2 
Capacity to realise the idea (1): 2 
Capacity to realise the idea (2): 2 
Capacity to realise the idea (3): 1 
Appropriateness of the budget to realise the idea: 3" 

с помощью питона и регулярное выражение, было бы возможно идентифицировать каждый экземпляр слов "Overall evaluation: и журнал это число, в этот пример 724 и значение, которое приходит после того, как "Overall evaluation:, т.е. 2, так что мы остались бы:

724, 2 
724, 1 

, например.

Если да, то как реализовать такую ​​логику?

Я пытался так:

f=open("1.txt",'r').read().splitlines() 
head='0' 
body=[] 
for x in f: 
    if x=="\n" or x.strip()=='': 
     continue 
    try: 
     int(x[0]) 
     print(head +':'+'+'.join(body)) 
     tmp=x.split() 
     head=tmp[0]+'-'+tmp[1] 
     body=[tmp[4]] 
    except ValueError as e: 
     body.append(x.split(':')[1].strip().strip('\"')) 
print(head +':'+'+'.join(body)) 

, но он не работает:/

ответ

4

Это должно сделать работу:

lines=open("1.txt",'r').read().splitlines() 
for l in lines: 
    data = l.split(' "Overall evaluation: ') 
    if len(data) == 2: 
     print(data[0] + ", " + data[1]) 

Функция сплит использовать строку "Overall evaluation: как seperator

+1

Я бы разделился на «Общая оценка:», включая пробелы ... но в порядке, swer. – Ohumeronen

+0

@ user2177047 исправлено –

Смежные вопросы