尝试将数据上传到 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 摄取数据。