Python csv:使用不同的变量名存储列表,然后逐行导出

Python csv:使用不同的变量名存储列表,然后逐行导出,python,python-2.7,csv,Python,Python 2.7,Csv,下面是我在postgresql中获取sql结果的python脚本 import sys #set up psycopg2 environment import psycopg2 #driving_distance module query = """ select * from driving_distance ($$ select gid as id, start_id::int4 as source,

下面是我在postgresql中获取sql结果的python脚本

import sys

#set up psycopg2 environment
import psycopg2

#driving_distance module
query = """
    select *
    from driving_distance ($$
        select
            gid as id,
            start_id::int4 as source,
            end_id::int4 as target,
            shape_leng::double precision as cost
        from network
        $$, %s, %s, %s, %s
    )
"""

#make connection between python and postgresql
conn = psycopg2.connect("dbname = 'TC_routing' user = 'postgres' host = 'localhost' password = '****'")
cur = conn.cursor()

#count rows in the table
cur.execute("select count(*) from network")
result = cur.fetchone()
k = result[0] + 1

#run loops
rs = []
i = 1
while i <= k:
    cur.execute(query, (i, 1000000, False, False))
    rs.append(cur.fetchall())
    i = i + 1

j = 0
h = 0
ars = []
vars()[str(j)] = ars
element = list(rs)
while j <= 2:
    while h <= 15:
        rp = element[j][h][2]
        ars.append(rp)
        h = h + 1
    else:
        h = 0
    j = j + 1

conn.close()

import csv

#export data in every row
with open('test.csv', 'wb') as f:
    writer = csv.writer(f, delimiter = ',')
    writer.writerow(ars)
我想得到下面的csv文件

也就是说,将第一行分配给ars0,第二行分配给ars1,第三行分配给ars2,我使用vars[strj]=ars使变量名arsj在while循环中增加,但我的输出仅在第一行

部分视图

我应该在脚本中的何处修改


我正在Windows 8.1 x64下使用python 2.7.6和pyscripter。欢迎给我任何建议,非常感谢

旁白:vars[strj]=ars-谁教你的?也许你有一个老敌人,他试图阻碍你对Python的理解,导致你的项目失败?Heinz,不确定你到底是怎么完成的,这有点难以理解,但我知道如果你给writerow打个电话,它只写一行。是否需要循环ars的每个元素并为ars的每个元素i调用writerow?一旦得到一行,将其写入csv并使ars为空。不要一次追加所有元素。