Python PyMySQL在连接关闭后使用创建的输出文件
我根据PyMySQL请求创建了一个CSV文件(works)。然后用pandas读入CSV内容,并用python(works)进行处理。然后应删除CSV文件(不起作用),错误消息如下: PermissionError:[WinError 5]访问被拒绝:“C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/testing.csv” 在此过程中,我创建(使用pandas)和删除(使用os)与“testing.CSV”位于同一文件夹中的多个其他CSV文件。这是有效的。Python PyMySQL在连接关闭后使用创建的输出文件,python,mysql,csv,pymysql,Python,Mysql,Csv,Pymysql,我根据PyMySQL请求创建了一个CSV文件(works)。然后用pandas读入CSV内容,并用python(works)进行处理。然后应删除CSV文件(不起作用),错误消息如下: PermissionError:[WinError 5]访问被拒绝:“C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/testing.csv” 在此过程中,我创建(使用pandas)和删除(使用os)与“testing.CSV”位于同一文件夹中的多个其他CSV文件。这是有
我怀疑PyMySQL中的某些东西仍然在使用它创建的文件,即使SQL连接已关闭。有什么建议吗?您正在执行的哪些操作被注释掉了?我从其他(现有)CSV文件导入并比较某些字段。根据这一点,将写入一个新的CSV文件。我找到了一个解决办法。如果我修改sql请求而不使用INTO OUTFILE部分,并通过pandas将其导出到CSV文件,那么我也可以删除该文件。您正在执行的哪些操作被注释掉了?我从其他(现有)CSV文件导入并比较某些字段。根据这一点,将写入一个新的CSV文件。我找到了一个解决办法。如果我修改sql请求而不使用INTO OUTPILE部分,并通过pandas将其导出到CSV文件,那么我也可以删除该文件。。
import pymysql
import os
path = 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/testing.csv'
db = pymysql.connect("localhost","root","****","testdb")
cursor = db.cursor()
sql = "SELECT * FROM t_names INTO OUTFILE '" + path + "' " \
"FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'"
cursor.execute(sql)
db.close()
#Some python operations with the read-in file are here
os.remove(path)