【发布时间】:2015-10-07 02:07:09
【问题描述】:
我有一个应该很简单的问题,但是尝试了 3 个小时,但我无法解决它。
我有一个 pymysql 从查询中返回结果。我不能分享确切的例子,但这个稻草人应该这样做。
cur.execute("select name, address, phonenum from contacts")
这完美地返回了我抓取的结果
results = cur.fetchall()
然后完全按照我的意愿转换为列表对象
data = list(results)
不幸的是,这不包括标头,但您可以使用 cur.description 获取它(其中包含元数据,包括但不限于标头)。我把它推到一个列表中
Header=[]
for n in cur.description:
header.append(str((n[0])))
所以我的标题看起来像:
['name','address','phonenum']
我的结果如下:
[['Tom','dublin','12345'],['Bob','Kerry','56789']]
我想在 pandas 中创建一个数据框,然后对其进行旋转,但它需要列标题才能正常工作。我之前一直在将一个完整的 csv 导入一个包含标题的 pandas DF,所以这一切都很顺利,但现在我需要直接从数据库获取这些数据,所以我在想,这很容易,我只需加入两个列表,嘿presto我有我要找的东西,但是当我尝试追加时,我实际上是这样结束的:
['name','address','phonenum',['Tom','dublin','12345'],['Bob','Kerry','56789']]
当我需要这个时
[['name','address','phonenum'],['Tom','dublin','12345'],['Bob','Kerry','56789']]
任何人有什么想法吗? 非常感谢!
【问题讨论】:
-
您可以通过
pd.read_sql_query("select name, address, phonenum from contacts", conn)将其作为 Dataframe 获取。
标签: python mysql list pandas pymysql