我有一个函数,可以将SQL服务器中的表中的表拉入Python中的数据框,但是它会强制所有列标题都使用小写。代码如下:
connection = pypyodbc.connect('Driver={SQL Server};' 'Server=' + server + ';' 'Database=' + database + ';' 'uid=' + username + ';' 'pwd=' + password + ';') query = 'SELECT * FROM ' + tableName #set dict value to dataframe imported from SQL tableDict[tableName] = pd.read_sql(query, connection)
例如,SQL中的标头是:pmiManufacturingHeadline_Level它在我的熊猫数据框中显示为:pmimanufacturingheadline_level
任何人都有一个想法如何使pandas.read_sql保持原始大小写?
我认为PyPyODBC为您做到了:
这是我在PyPyODBCver的源代码中找到的。1.3.3行:28-29:
PyPyODBC
version = '1.3.3' lowercase=True
和1771-1772行:
if lowercase: col_name = col_name.lower()
因此,您可以根据需要更改行为:
import pypyodbc pypyodbc.lowercase = False # force the ODBC driver to use case-sensitive column names