查询SQLite3数据库并将每个查询写入.csv,写入的所有文件均为空白

时间:2019-07-04 00:10:11

标签: python-2.7 sqlite

我有大型数据库,正在使用python中的sql查询将数据写入csv文件。在sql数据库中,每一行都是手指ID的一系列空间信息。我有一个功能循环,该循环遍历列表中所有INDEX的每个FINGER。该查询工作正常,但是当我尝试为每个FINGER编写一个新的.csv文件时,这些文件要么为空白,要么仅包含一行。

INDEX = ([44,48,50,55,56,57], [49,54,57,61,62,64])


FINGER = ('rt100', 'rt101')

for i,Y in enumerate(FINGER):
    for x in INDEX[i]:
           data = c.execute(
            "SELECT x,y, CAST( (direction*180/3.142)as INT),CAST(quality*100 as INT) from UTS_7_fingerprints where finger like ? and ind = ?",
    [Y,x])
           for row in data:
            print row
            csv_path = "X.csv"
        with open('X.csv', "w") as csv_file:
                writer = csv.writer(csv_file, delimiter= " ")
                for row in data:
                    writer.writerows([row])
                os.rename ("X.csv",Y)

我希望这会返回一个类似于以下内容的文件:

372,402,281,83
394,303,303,97
415,422,123,86
458,328,292,95
464,487,112,96
483,389,303,95

但是,每个文件都是以FINGER创建和命名的,但是为空。

打印行时得到:

(405, 378, 281, 93)
(430, 270, 303, 32)
(444, 398, 123, 82)
(489, 299, 314, 67)
(495, 468, 123, 88)
(512, 368, 314, 71)
(405, 378, 281, 94)
(430, 264, 303, 67)
(447, 400, 123, 83)
(489, 292, 314, 68)
(495, 463, 123, 90)
(512, 360, 326, 71)

每6行需要有一个新的.csv文件,该文件在对应的FINGER之后标有标签。

0 个答案:

没有答案