Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我得到这个错误索引器:元组索引超出范围_Python_Database_Sqlite_Kml - Fatal编程技术网

Python 为什么我得到这个错误索引器:元组索引超出范围

Python 为什么我得到这个错误索引器:元组索引超出范围,python,database,sqlite,kml,Python,Database,Sqlite,Kml,我正试图从数据库中提取行。它拉取前两行,但是不会拉取第6行和第7行,它说的是这样的错误:元组索引超出范围 db = sqlite3.connect('da_destination_history') cursor = db.cursor() cursor.execute('''SELECT time, dest_lat, dest_lng, source_lat, source_lng FROM destination_history''') rows = cursor.fetchall()

我正试图从数据库中提取行。它拉取前两行,但是不会拉取第6行和第7行,它说的是这样的错误:
元组索引超出范围

db = sqlite3.connect('da_destination_history')
cursor = db.cursor()
cursor.execute('''SELECT time, dest_lat, dest_lng, source_lat, source_lng FROM destination_history''')
rows = cursor.fetchall()

for row in rows:
    print('{0} : {1}, {2}'.format(row[0], float(row[1])/1000000, float(row[2])/1000000))
    print('{0} : {6}, {7}'.format(row[0], float(row[6])/1000000, float(row[7])/1000000))
    ttime = row[0]
    dlong = float(row[1])/1000000
    dlat = float(row[2])/1000000

kml = simplekml.Kml()
kml.newpoint(name="andriod2", coords=[((float(row[2])/1000000),(float(row[1])/1000000))])
kml.newpoint(name="andriod", coords=[((float(row[7])/1000000),(float(row[6])/1000000))])
kml.save("andriod.kml")

正如Martijn所指出的,
行[6]
的索引看起来可疑,因为您只选择了5列

字符串上的
格式
函数也有问题:

'{0} : {6}, {7}'.format(row[0], float(row[6])/1000000, float(row[7])/1000000)
由于
{}
之间的
6
7
表示
format()
的参数,您只提供了3个参数(分别用
{0}
{1}
索引)。
{2}

如果从选择了更多列的示例中复制此代码,则应确保更新所有索引,包括行中的索引和格式说明中的索引。

如果只选择了5列,为什么预期会有8列?