【发布时间】:2018-02-13 19:48:33
【问题描述】:
我知道以前有人问过这类问题,但仍然找不到我正在寻找的答案。我正在将 csv 文件批量插入到 SQL Server 表中,但出现如下所示的错误:
我的代码:
df_output.to_csv('new_file_name.csv', sep=',', encoding='utf-8')
conn = pyodbc.connect(r'DRIVER={SQL Server}; PORT=1433; SERVER=Dev02; DATABASE=db;UID='';PWD='';')
curr = conn.cursor()
print("Inserting!")
curr.execute("""BULK INSERT STG_CONTACTABILITY_SCORE
FROM 'C:\\Users\\kdalal\\callerx_project\\caller_x\\new_file_name.csv'
WITH
(
CODEPAGE = 'ACP',
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
);""")
conn.commit()
错误:
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL 服务器驱动程序][SQL Server]无法批量加载,因为文件 "C:\Users\kdalal\callerx_project\caller_x\new_file_name.csv" 不能打开。操作系统错误代码 3(系统无法 找到指定的路径。)。 (4861) (SQLExecDirectW)')
'new_file_name.csv' 在指定路径中。我尝试将路径更改为“new_file_name.csv”,因为它位于我运行脚本的文件夹中,但它仍然会引发
文件不存在
你能告诉我我在这里做错了什么吗?提前非常感谢。
【问题讨论】:
-
代码文件.py是否在同一个路径? `C:\\Users\\kdalal\\callerx_project\\caller_x\`
-
是的,在同一个路径
-
试试
df_output.to_csv('C:\\Users\\kdalal\\callerx_project\\caller_x\\new_file_name.csv', sep=',', encoding='utf-8') -
SQL Server 实例与运行 Python 代码的机器是否位于不同的机器上?
-
@virtualdvid:我会尽快回复你。谢谢。
标签: python sql-server python-3.x pyodbc