2016-03-30 48 views
3

我有一個函數可以將我們的SQL服務器中的一個表中的表格轉換爲Python中的一個數據框,但它強制所有列標題都是小寫的。代碼如下:如何使pandas.read_sql()不能將所有的頭文件轉換爲小寫

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保持原有的資本?

回答

2

我覺得PyPyODBC會爲你:

這裏是我在PyPyODBC版本的源代碼中發現的。 1.3.3線路:28-29:

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 
+0

我明白了!這是危險的領土,但我可能會嘗試哈哈。謝謝 – jjvandermade

+0

將小寫更改爲False並重新安裝了該自定義軟件包。這工作。非常感謝! – jjvandermade

+0

@jjvandermade,總是樂於幫助:) – MaxU

相關問題