2011-05-03 53 views
10

嗨,我一直在讀正規表達式,我有一些基本的資源工作。我現在一直在試圖使用重新理清這樣的數據:如何在Python中分隔這個以逗號分隔的字符串?

「144,1231693144,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,1563,2747941288,1231823695,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,909, 4725008「

...變成一個元組,但我不能讓它工作。

任何人都可以解釋他們將如何去做這樣的事情嗎?

謝謝

+1

什麼叫 「數據這樣」 是什麼意思?數字整數?有時有3位數字?你試圖用正則表達式捕獲什麼模式? – 2011-05-03 02:33:36

+0

我的意思是把每個用逗號隔開的整數分隔成一個列表。 – freeload247 2011-05-03 02:36:30

回答

7

列表如何?

mystring.split(",") 

如果你能解釋我們正在查看什麼樣的信息,它可能會有所幫助。也許一些背景信息呢?

編輯:

我擁有了你想要用的兩組信息思想?

然後嘗試:

re.split(r"\d*,\d*", mystring) 

而且如果你想讓他們到元組

[(pair[0], pair[1]) for match in re.split(r"\d*,\d*", mystring) for pair in match.split(",")] 

更可讀的形式:

mylist = [] 
for match in re.split(r"\d*,\d*", mystring): 
    for pair in match.split(",") 
     mylist.append((pair[0], pair[1])) 
0

的問題有點含糊。

list_of_lines = multiple_lines.split("\n") 
for line in list_of_lines: 
    list_of_items_in_line = line.split(",") 
    first_int = int(list_of_items_in_line[0]) 

37

你不想在這裏正則表達式。

s = "144,1231693144,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,1563,2747941 288,1231823695,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,909,4725008" 

print s.split(',') 

爲您提供:

['144', '1231693144', '26959535291011309493156476344723991336010898738574164086137773096960', '26959535291011309493156476344723991336010898738574164086137773096960', '1.00 
', '4295032833', '1563', '2747941 288', '1231823695', '26959535291011309493156476344723991336010898738574164086137773096960', '26959535291011309493156476344723991336010898 
738574164086137773096960', '1.00', '4295032833', '909', '4725008'] 
+8

如果從文件讀入它,你會想使用's.strip()。split(',')'。 strip方法擺脫了換行符和其他空格。 – mgold 2012-09-07 20:33:09