我正在使用以下代码将数据帧从SQL导入Jupyter:
import pandas as pd
import pyodbc
conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
'Server=SERVE_RNAME;'
'Database=DB_NAME;'
'Trusted_Connection=no;'
'UID=USER'
'PWD=PASSWORD')
cursor = conn.cursor()
cursor.execute('''
SOME SQL QUERY (THAT I CANNOT CHANGE) GIVEN TO ME BY MY BOSS
''')
df = pd.DataFrame(cursor.fetchall())
conn.close()
问题在于,当我想看到df
时会得到
df.head()
0 [2, 1098002, 19-01-2018, MEXN, SNLP, 19-01-201...
1 [2, 1069341, 29-01-2018, VALL, GDLJ, 29-01-201...
2 [2, 1074115, 31-01-2018, MEXN, GDLJ, 31-01-201...
3 [2, 1054977, 06-01-2018, GDLJ, VALL, 06-01-201...
4 [2, 1110098, 17-01-2018, MORE, MEXN, 17-01-201...
所以我不知道这是怎么回事:我的代码或查询有问题吗?
无论如何我如何纠正它以获得正确的数据帧? (解决方案可能是我更正代码或通过操纵现有的数据框)。
任何帮助将不胜感激。
答案 0 :(得分:2)
您可以简单地使用read_sql()读取数据数据库
template <class T,
typename std::enable_if_t<std::is_union<T>::value,
int> = 0>
void foo(T t) {
// an implementation for union types
}