我正在嘗試將.csv
檔案的內容插入 SQL Server 資料庫。我可以插入nulls
我的 csv 檔案中沒有的列。blanks
由于我無法將這些特定列與其他列一起插入,因此很少有列。我創建了一個這樣的表;
CREATE TABLE [main].[table1](
[Record_ID] [int] IDENTITY(1,1) NOT NULL,
[account_id] [nvarchar](max) NULL,
[business_name] [nvarchar] (max) NULL,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
如上所述,我在account_id
和business_name
列中幾乎沒有空格。我可以毫無錯誤地插入其他列。當我嘗試插入這兩列時,出現這樣的錯誤,
ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 4 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision. (8023) (SQLExecDirectW)')
不知道為什么每次我嘗試插入 csv 檔案內容時都會得到這個。我已經在我的insert
命令中處理了null
允許的地方。
插入命令:
cursor.execute("INSERT INTO main.table1(account_id,business_name) values(?,?)", row.account_id, row.business_name)
誰能告訴我如何解決這個問題?
任何幫助,將不勝感激。
uj5u.com熱心網友回復:
我只是包含了將 NaN 替換為 0 的函式,現在它在創建要加載的資料框后立即使用以下代碼行成功加載所有行(df)
df = df.fillna(value=0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/432859.html
標籤:sql服务器 sql-server-2008 sql-插入 创建表