※ 引述《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])
不过我不是很了解这样子算的意义为何,可能会曲解你的原意
希望对你有帮助