尝试将数据上传到 MSSQL 时数据框上的分隔符出错
Error with delimiters on dataframe when trying to upload it to MSSQL
所以我一直在尝试将数据帧上传到 MSSQL 下的特定 table,我一直在尝试使用 BCPANDAS 库将数据上传到它。但是,数据上有很多包含多个字符的字符串存在问题。
我使用的代码如下:
from bcpandas import SqlCreds, to_sql
creds = SqlCreds(
'server',
'dbo',
'username',
'password'
)
to_sql(df,'targeted_table',creds,index = False, if_exists='append', schema='test')
然而,每当我尝试上传数据时,都会出现此错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\jdc33\AppData\Local\Programs\Python\Python39\lib\site-packages\bcpandas\main.py", line 394, in to_sql
delim = get_delimiter(df) if delimiter is None else delimiter
File "C:\Users\jdc33\AppData\Local\Programs\Python\Python39\lib\site-packages\bcpandas\constants.py", line 68, in get_delimiter
raise BCPandasValueError(error_msg.format(typ="delimiter", opts=_DELIMITER_OPTIONS))
bcpandas.constants.BCPandasValueError: Data contains all of the possible delimiter characters (',', '|', '\t'),
cannot use BCP to import it. Replace one of the possible delimiter characters in
your data, or use another method besides bcpandas.
Further background:
https://docs.microsoft.com/en-us/sql/relational-databases/import-export/specify-field-and-row-terminators-sql-server#characters-supported-as-terminators
我在想的是,行中的数据有很多字符串,其中包含上述错误中提到的多个分隔符 (',', '|', '\t')
,因此会产生数据如何处理的问题已上传。我试图通过像这样摄取文件将分隔符设置为上述之一:
testdf= pd.read_csv('data.csv',delimiter=',')
但是错误一直出现。
有没有人遇到过这个错误并且知道如何解决?
任何帮助都会很有帮助
所以我设法通过简单的错误修复来解决问题,根据上面提出的问题,问题是分隔符存在于某些列的数据中,根据对数据的深入研究,而不是弄乱为了它的完整性,我过去并替换了字符串 ","
的所有实例,以便使用 BCPandas 摄取数据。
所以我一直在尝试将数据帧上传到 MSSQL 下的特定 table,我一直在尝试使用 BCPANDAS 库将数据上传到它。但是,数据上有很多包含多个字符的字符串存在问题。
我使用的代码如下:
from bcpandas import SqlCreds, to_sql
creds = SqlCreds(
'server',
'dbo',
'username',
'password'
)
to_sql(df,'targeted_table',creds,index = False, if_exists='append', schema='test')
然而,每当我尝试上传数据时,都会出现此错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\jdc33\AppData\Local\Programs\Python\Python39\lib\site-packages\bcpandas\main.py", line 394, in to_sql
delim = get_delimiter(df) if delimiter is None else delimiter
File "C:\Users\jdc33\AppData\Local\Programs\Python\Python39\lib\site-packages\bcpandas\constants.py", line 68, in get_delimiter
raise BCPandasValueError(error_msg.format(typ="delimiter", opts=_DELIMITER_OPTIONS))
bcpandas.constants.BCPandasValueError: Data contains all of the possible delimiter characters (',', '|', '\t'),
cannot use BCP to import it. Replace one of the possible delimiter characters in
your data, or use another method besides bcpandas.
Further background:
https://docs.microsoft.com/en-us/sql/relational-databases/import-export/specify-field-and-row-terminators-sql-server#characters-supported-as-terminators
我在想的是,行中的数据有很多字符串,其中包含上述错误中提到的多个分隔符 (',', '|', '\t')
,因此会产生数据如何处理的问题已上传。我试图通过像这样摄取文件将分隔符设置为上述之一:
testdf= pd.read_csv('data.csv',delimiter=',')
但是错误一直出现。
有没有人遇到过这个错误并且知道如何解决? 任何帮助都会很有帮助
所以我设法通过简单的错误修复来解决问题,根据上面提出的问题,问题是分隔符存在于某些列的数据中,根据对数据的深入研究,而不是弄乱为了它的完整性,我过去并替换了字符串 ","
的所有实例,以便使用 BCPandas 摄取数据。