2015-06-14 4 views
2

Мне нужно удалить патч-номера из выходного значения, чтобы удалить «/ digit» с 1293927/2 1293929/3, я показал ожидаемый результат ниже, вывод должен быть таким, как показано ниже, но должен быть списка типов .. как разбить это?Как удалить цифры «цифры» с вывода

sql_get = """SELECT gerrit_id 
       FROM gerrits.gerrit_submit_table 
       where (SI='%s' 
       and component='%s' and release_bit = '0' and picked_bit = '0')"""%(SI,component) 

#print sql_get 
rows = cursor.execute(sql_get) 
gerrits = cursor.fetchall() 
#print "gerrits" 
#print gerrits -->prints (('1293927/2',), ('1293929/2',)) 


print' '.join(item[0] for item in gerrits).rstrip('\r\n') --> prints 1293927/2 1293929/2 

ВЫВОД: -

1293927/2 1293929/2 

ЗАПЛАНИРОВАННЫЕ: -

1293927 1293929 
+0

'печати '' .join (пункт [0] [: - 2] для пункта в Gerrits) .rstrip ('\ г \ n ') ' –

+0

Это то, что печатает правильные данные из базы данных? Если это так, то эта часть совершенно не имеет значения. – jpmc26

ответ

2

Используйте re модуль.

import re 
print ' '.join(re.sub(r'/.*', '',item[0]) for item in gerrits).rstrip('\r\n') 

или

Использование string.split функции.

print ' '.join(item[0].split('/')[0] for item in gerrits).rstrip('\r\n') 

Update:

l = [] 
for item in gerrits: 
    m = item[0].split('/')[0] 
    l.append(m) 
print l 
+0

'print '' .join (re.sub (r '/ \ d + $', '', item [0]) для элемента в gerrits) .rstrip ('\ r \ n')' –

+0

есть ли способ отправить вывод как список вместо строки? – user2125827

+0

вывод должен быть 1293927 1293929, но он должен быть типа list – user2125827

2

Я бы рассмотреть вопрос об использовании split():

print ' '.join(item[0].split('/')[0] for item in gerrits) 

Это должно исключить необходимость rsplit и обрабатывать любое количество цифр после косой черты. Обратите внимание, что он выводит string, но я предполагаю, что это то, что вы ищете, учитывая join().

Новое требование:

Выход в списке:

print [item[0].split('/')[0] for item in gerrits)] 
+0

есть способ отправить это как список вместо строки? – user2125827

+0

'print [item [0] .split ('/') [0] для элемента в gerrits]' – dorch

+0

i означает, что вывод должен быть «1293927 1293929», но он должен быть списка типов. – user2125827

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