Re: [問題] readline()如何切?改用csv reader

看板Python作者 (いい天気!)時間12年前 (2013/03/31 15:03), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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

03/31 18:16, , 1F
感謝你!!!!!雖然 我直接用CSVReader 不過這個方法好像也可
03/31 18:16, 1F

03/31 18:16, , 2F
以的樣子~@@
03/31 18:16, 2F

03/31 18:37, , 3F
本來想到的反映是 regexp (re模組)
03/31 18:37, 3F

03/31 20:29, , 4F
03/31 20:29, 4F

04/02 16:37, , 5F
切 CSV 用 re 有點殺雞焉用牛刀的感覺
04/02 16:37, 5F
文章代碼(AID): #1HLz-f0E (Python)
文章代碼(AID): #1HLz-f0E (Python)