从 Python 中的 SQL 中提取 1 列数据
Extract 1 Column of data from SQL in Python
我已经通过 python 连接到 SQL 数据库,并且正在尝试提取一列数据。但是,当我去打印我提取的内容时,它显示以下内容:
('A', )
('B', )
('C', )
('D', )
当我提取两列时,它会打印:
('A', 'a' )
('B', 'b')
('C', 'c')
('D', 'd')
有没有一种方法可以简单地获取第一列中的数据而无需额外的 , )
,甚至可以在保留 SQL 中的列名的同时转换为数据帧?我找到了很多如何从 SQL 中提取数据的指南,但是 none 显示了作为数据框运行并保留列名的能力。
要生成的代码:
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}'
,server = 'server'
,database = 'db1'
,trusted_connection=True
,user='user')
cursor=conn.cursor()
cursor.execute(
'''SELECT
Column_One
--,Column_Two
FROM db1.table''')
for row in cursor.fetchall():
print(row)
试试看
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}'
,server = 'server'
,database = 'db1'
,trusted_connection=True
,user='user')
cursor=conn.cursor()
cursor.execute(
'''SELECT
Column_One
--,Column_Two
FROM db1.table''')
final_result = [list(i) for i in cursor.fetchall()]
from sqlalchemy import create_engine
import pymysql
def keyword_sql():
try:
db_connection_str = 'mysql+pymysql://user:password@server/database'
db_connection = create_engine(db_connection_str)
df = pd.read_sql('SELECT keyword, category FROM additional_data_dictionary', con=db_connection)
return df
except:
print("mysql connection issue - ignoring the user input")
sys.exit(1)
看看这是否有帮助,我没有使用 pyodbc,我正在使用 "sqlalchemy"
- 此代码直接 returns pandas dataframe
我已经通过 python 连接到 SQL 数据库,并且正在尝试提取一列数据。但是,当我去打印我提取的内容时,它显示以下内容:
('A', )
('B', )
('C', )
('D', )
当我提取两列时,它会打印:
('A', 'a' )
('B', 'b')
('C', 'c')
('D', 'd')
有没有一种方法可以简单地获取第一列中的数据而无需额外的 , )
,甚至可以在保留 SQL 中的列名的同时转换为数据帧?我找到了很多如何从 SQL 中提取数据的指南,但是 none 显示了作为数据框运行并保留列名的能力。
要生成的代码:
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}'
,server = 'server'
,database = 'db1'
,trusted_connection=True
,user='user')
cursor=conn.cursor()
cursor.execute(
'''SELECT
Column_One
--,Column_Two
FROM db1.table''')
for row in cursor.fetchall():
print(row)
试试看
import pyodbc
conn = pyodbc.connect(driver='{SQL Server}'
,server = 'server'
,database = 'db1'
,trusted_connection=True
,user='user')
cursor=conn.cursor()
cursor.execute(
'''SELECT
Column_One
--,Column_Two
FROM db1.table''')
final_result = [list(i) for i in cursor.fetchall()]
from sqlalchemy import create_engine
import pymysql
def keyword_sql():
try:
db_connection_str = 'mysql+pymysql://user:password@server/database'
db_connection = create_engine(db_connection_str)
df = pd.read_sql('SELECT keyword, category FROM additional_data_dictionary', con=db_connection)
return df
except:
print("mysql connection issue - ignoring the user input")
sys.exit(1)
看看这是否有帮助,我没有使用 pyodbc,我正在使用 "sqlalchemy" - 此代码直接 returns pandas dataframe