我在将一个* .sqlite ddbb从一个文件夹移动到另一个文件夹时遇到了一些麻烦。
这是我的尝试:
Import os
Import sqlite3
Import pandas as pd
#There is some code here to get my pandas dataframe
然后以下代码的目标是: 要从pandas数据框(dfGlobalProcess)创建一个sqlite ddbb,然后将其移动到另一个名为“Projects_ddbb”的子文件夹。如果我可以将它直接保存到另一个文件夹,那就太棒了。
这是代码:
ddbbName='ExampleProject1' #I know this line does nothing right now... but in the future this should be an user input
ddbbName2= ddbbName + '.sqlite'
conn = sqlite3.connect('' + ddbbName2 +'')
dfGlobalProcess.to_sql('ProcessesElemFlows', conn, index=False, if_exists='replace')
conn.close()
prevName='' + ddbbName2 + ''
newName='Projects_ddbb/' + prevName + ''
os.rename(prevName,newName)
当我运行此代码时,我收到以下错误:
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'ExampleProject1.sqlite' -> 'Projects_ddbb/ExampleProject1.sqlite'
我在stackoverflow中搜索了解决方案,但我无法弄清楚如何解决它
如果我运行相同的代码但移动了存储ddbb的同一文件夹中的* .txt文件,* .txt文件将按预期移动到“Projects_ddbb”文件夹。
看起来我以某种方式打开了ddbb,但由于我对Python和编程很新,所以我不知道如何继续。
我也尝试了类似的东西,但我不知道它是否有任何意义......可能不是因为它不起作用:
os.close('ExampleProject1.sqlite')
任何帮助将不胜感激。