看板 Python 關於我們 聯絡資訊
※ 引述《MAGICXX (逢甲阿法)》之銘言: readline()進來的資料格式應該是字串, 所以他應該是這個樣子: "1,2,3,4,5,6,7,8,9\n" 要讀他的index的時候你讀到的也是字串, 所以你在IDLE裡可以做,是因為你在那邊輸入的時候並非字串。 假設資料格式是csv,純文字打開的話應該是: 1,2,3,4,5,6,7,8,9 1,2,3,3,5,6,7,8,9 1,2,3,2,5,6,7,8,9 1,2,3,4,5,6,7,8,9 1,2,3,1,5,6,7,8,9 data = open("F://Python/test.csv") for each_line in data: ##一次讀進一行 temp = each_line.strip("\n").split(",") ##拿掉換行符 轉成list show = temp[ 4: (4 + int(temp[3]) ) ] ##int把temp[3]轉成數值 print( show ) 最後output的結果是: ['5', '6', '7', '8'] ['5', '6', '7'] ['5', '6'] ['5', '6', '7', '8'] ['5'] 應該會是你想要的 ,要注意這邊list裡面的成分都還是字串。 剛學一個月,如果還有更快的解決法還請賜教。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.162.129
MAGICXX:感謝你!!!!!雖然 我直接用CSVReader 不過這個方法好像也可 03/31 18:16
MAGICXX:以的樣子~@@ 03/31 18:16
Yoxem:本來想到的反映是 regexp (re模組) 03/31 18:37
Yoxem: 應 03/31 20:29
uranusjr:切 CSV 用 re 有點殺雞焉用牛刀的感覺 04/02 16:37