当我试图将sql tabel加载到datafram时,显示dataframe中字符串的NAN值

2024-04-25 04:42:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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(名字, 姓、年龄、收入)

我已经尽力解决这个问题,但没有任何结果

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)

它没有打印值,而是为列(名字, 姓、年龄、收入)


Tags: 数据nameimportdfinputdbyourtable
1条回答
网友
1楼 · 发布于 2024-04-25 04:42:55

如果您可以使用另一个包,请尝试psycopg2和此模式

import pandas as pd
import psycopg2

host = 'host_name'
database = 'database_name'
username = 'username'
password = 'password'

storage = input("Enter your database name :")
table = input("Enter your table name")

    with psycopg2.connect(f"host='{host}' 
                            dbname='{database}' 
                            user='{username}' 
                            password='{password}'") as connection:
        sqlQuery = """
SELECT * FROM %s' %(table)
"""
        data = pd.read_sql(sqlQuery, connection)

相关问题 更多 >