Python 数据帧读取\大于1023个字符的sql读取字符串

Python 数据帧读取\大于1023个字符的sql读取字符串,python,pandas,dataframe,python-3.5,Python,Pandas,Dataframe,Python 3.5,我试图从MS SQL表中读取数据,其中一列包含大于1024个字符的varchar。 当我将查询读入数据帧时,字符串被截断为1023个字符。请参阅下面的代码和输出。 有人知道如何将大于1023个字符的字符串放入数据帧吗? 我一直在四处寻找,在DataFrame文档中,但我没有找到答案 在下表的代码中,test包含一列“s”,其中一行的字符串长度为1100。列“len_s”包含字符串“s”的长度(在SQL server中计算) 输出为: a

我试图从MS SQL表中读取数据,其中一列包含大于1024个字符的varchar。 当我将查询读入数据帧时,字符串被截断为1023个字符。请参阅下面的代码和输出。 有人知道如何将大于1023个字符的字符串放入数据帧吗? 我一直在四处寻找,在DataFrame文档中,但我没有找到答案

在下表的代码中,test包含一列“s”,其中一行的字符串长度为1100。列“len_s”包含字符串“s”的长度(在SQL server中计算)

输出为:

   a                                                  s  len_s
0  1                                        01234567890     11
1  2  0123456789012345678901234567890123456789012345...   1100
1023
因此,在数据帧中,字符串被截断。。。
有什么建议吗?

我找到了解决办法。它似乎与Dataframes/Pandas甚至Python无关,但当我搜索“PyODBC”时,我发现这个问题已经解决了:

他们发现问题出在SQL Server本机客户端驱动程序上。他们建议改用SQL Server标准驱动程序


因此,我还将ODBC连接字符串中的驱动程序从SQL Server本机客户端11.0更改为SQL Server,它工作得非常好!我正在获取MSSQL数据表中VARCHAR(MAX)列的全部内容。

我认为这只是一个表示(检查
pd.options.display.MAX\u colwidth
参数)。打印(df.s.str.len())的输出是什么?
   a                                                  s  len_s
0  1                                        01234567890     11
1  2  0123456789012345678901234567890123456789012345...   1100
1023