【发布时间】:2019-07-09 15:47:59
【问题描述】:
我在 SQL 中有一个表,我尝试将该表数据提取到一个 数据框,当我尝试打印数据框时,它显示数字 完美的字符串值显示为“NAN”
import pymysql``
import pandas as pd
from pandas import DataFrame
storage = input("Enter your database name :")
table = input("Enter your table name")
db = pymysql.connect(host='localhost', database=storage, user='',
passwd='')
cursor = db.cursor()
print("Connected to " + storage)
query = pd.read_sql_query('SELECT * FROM ' +table , db)
df = DataFrame(query, columns=['First_name', 'Last_name ', 'Age', 'SEX',
'Income', 'Cellno', 'Id', 'Aadhar'])
print(df)
它不是打印值,而是打印列的 NAN (first_name, 姓氏、年龄、收入)
我已经尽力解决这个问题,但没有得到任何结果
storage = input("Enter your database name :")
table = input("Enter your table name")
db = pymysql.connect(host='localhost', database=storage, user='',
passwd='')
cursor = db.cursor()
print("Connected to " + storage)
query = pd.read_sql_query('SELECT * FROM ' +table , db)
df = DataFrame(query, columns=['First_name', 'Last_name ', 'Age', 'SEX',
'Income', 'Cellno', 'Id', 'Aadhar'])
print(df)
它仍然打印列的 NAN,而不是打印值(first_name, 姓氏、年龄、收入)
【问题讨论】:
-
你试过 pd.read_sql 吗?此方法将直接从 sql 查询生成数据帧。您可以在之后重命名列。这应该将所有内容(包括列名)直接拉入数据框中。如果你仍然得到空值,我会检查数据库数据。
df = pd.read_sql('SELECT * FROM ' +table , db) -
嘿,它通过使用 pd.read_sql 工作,感谢您的帮助。
标签: python sql pandas dataframe