2014-09-22 2 views
0

Так что я работаю с CSV, у которого есть много отношений, и у меня есть 2 проблемы, в которых мне нужна помощь в решении. Во-первых, я строка создана какРазделение строк в python в столбцах CSV

thisismystr = thisisanemail @ addy.com, бла, бла, бла, startnewCSVcol

Так что мне нужно разбить строку дважды, один раз = и один раз, как я в основном пытаются получить ту часть, которая представляет собой адрес электронной почты ([email protected]) до сих пор я понял, как разбить строку на = используя что-то вроде этого:

str = [email protected],blah,blah,blah 

print str.split("=") 

Какие возвращает это «thisisanemail @ addy.com, blah, blah, blah» ... однако это оставляет часть, blah, blah, blah, которую нужно удалить ... после небольшого исследования я в тупике, поскольку ничто не объясняет ho w для удаления из середины, только 1-й части или последней части. Кто-нибудь знает как это сделать?

Для второй части мне нужно сделать это из нескольких строк, так что это больше вопрос о совете ... лучше ли подключать это к переменной и прокручивать через (i = 1 for i, #endofCSV do splitcmd) или есть более эффективный способ сделать это? Я больше знаком с LUA, и я узнаю, что чем больше я работаю с python, тем больше он отличается от LUA.

Пожалуйста, помогите. Благодаря!

+0

@figs Нет, потому что если вы должны были смотреть на CSV в обычном тексте, который CSV хотел бы так: «thisismystr = thisisanemail @ addy.com, blah, blah, blah», thisisthenextCSVelement, 3rdCSVelement и т. д. Таким образом, я бы подумал, ООН меньше я преобразовал его в разделитель табуляции или что-то еще. –

+0

'split (" = ")' будет возвращать список из двух строк: 'thisismystr' и 'thisisanemail @ addy.com, blah, blah, blah'. Запустите 'split (", ")' во второй строке, чтобы получить список строк, который имеет «[email protected]» в качестве первой строки в списке. – 101

+0

А, в таком случае вы можете сделать разделитель разным или обмен запятыми на что-то еще? – 101

ответ

0

Это решение проблемы?

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 

myString = '[email protected],blah,blah,blah' 

a = myString.split('=') 
b = [] 
for i in a: 
    b.extend(i.split(',')) 

print b 
0

Я считаю, что вы хотите, электронную почту из строк в этом формате: '[email protected],blah,blah,blah'

Это, как вы бы это сделать:

str = '[email protected],blah,blah,blah' 
email = str.split('=')[1].split(',')[0] 
print email 
Смежные вопросы