Re: [問題] 讀取csv檔內的數字作為loop內的迭代值已刪文

看板Python作者 (Neisseria)時間11年前 (2014/06/15 15:04), 11年前編輯推噓2(203)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《okmnji ()》之銘言: : 我寫了個script去控制PostgreSQL : 利用其內建的函式得到我想要的結果 : http://pastebin.com/836uSmhh : 現在我想要讀取一個csv檔 : 例如:http://imgur.com/RkDvq24
: 利用裡面的數字取代原本script裡面的迭代值 : 目前是將原script,從line 35開始的地方改成這樣 : http://pastebin.com/ZY74KmNB : 目的是讓i從6開始,l也從6開始 : 但當(i,l) = (6,6、31、28、29、23、20、32、17)run完其sql code之後 : i再接著變為31,再繼續(i,l) = (31,6、31、28、29、23、20、32、17) : 以此類推,直到csv檔內的數字都被迭代值用過為止 : script可以run,但輸出的csv檔卻沒有東西 : 想請教大家,關於這樣的概念我是哪個地方寫錯了,謝謝。 其實不太需要再讀取一個 csv 檔 既然都 hard code 數字了,直接寫成一個 list 就好 如果還是想另行讀入 csv 檔,可以分兩輪處理 _list = [] # from line number 35 in your file with open("input.csv", "rb") as _file: reader = csv.reader(_file) for row in reader: _list.append(row[0]) with open("output.csv", 'wb') as _file: writer = csv.writer(_file) for i in _list: for j in _list: cur.execute(query, (i, l, True, True)) element = cur.fetchall() product = sum([a[-1] for a in element[:-1]]) writer = csv.writer(f2, delimiter = ',') writer.writerow([product]) 不過我不是很了解這樣子算的意義為何,可能會曲解你的原意 希望對你有幫助 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.74.79.161 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1402815891.A.D99.html

06/15 16:53, , 1F
謝謝你的回應,會需要另外寫讀取csv檔的code是因為
06/15 16:53, 1F

06/15 16:54, , 2F
會先利用PostgreSQL查詢需要用到的數字,而每次查詢會出
06/15 16:54, 2F

06/15 16:54, , 3F
現的數字、有多少數字都不一定。
06/15 16:54, 3F

06/15 22:01, , 4F
可以分兩次,一次讀 csv 到 list 內,一次寫入 csv 檔
06/15 22:01, 4F
※ 編輯: Neisseria (211.74.79.161), 06/15/2014 22:05:04

06/16 02:06, , 5F
謝謝!
06/16 02:06, 5F
※ 編輯: Neisseria (59.104.139.82), 06/16/2014 06:04:43
文章代碼(AID): #1JdKMJsP (Python)
文章代碼(AID): #1JdKMJsP (Python)