您的位置:首页 > 移动开发 > Objective-C

python - 数据库 及 TypeError: 'zip' object is not subscriptable

2018-01-24 17:49 766 查看
import numpy as np
import pandas as pd
from pandas import Series, DataFrame   # pandas 数据分析包

#使用数据库
import sqlite3

query = """
CREATE TABLE test
(a VARCHAR(20), b VARCHAR(20),
c REAL,        d INTEGER
);"""

con = sqlite3.connect(':memory:')
con.execute(query)
con.commit()

data = [('Atlanta', 'Georgia', 1.25, 6),
('Tallahassee', 'Florida', 2.6, 3),
('Sacramento', 'California', 1.7, 5)]
stmt = "INSERT INTO test VALUES(?, ?, ?, ?)"

con.executemany(stmt, data)
con.commit()

cursor = con.execute('select * from test')
rows = cursor.fetchall()
print( rows )
'''
[('Atlanta', 'Georgia', 1.25, 6),
('Tallahassee', 'Florida', 2.6, 3),
('Sacramento', 'California', 1.7, 5)]
'''

cursor.description

DataFrame(rows, columns=list(zip(*cursor.description))[0])

'''
DataFrame(rows, columns=zip(*cursor.description)[0])
运行报错:TypeError: 'zip' object is not subscriptable
因为 python 3.x 需要 list()后,再索引查找元素
改为 DataFrame(rows, columns=list(zip(*cursor.description))[0])
'''
import pandas.io.sql as sql
_aa = sql.read_sql('select * from test', con)
print( _aa )
'''
a           b     c  d
0      Atlanta     Georgia  1.25  6
1  Tallahassee     Florida  2.60  3
2   Sacramento  California  1.70  5
'''
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐