感谢您关注我的问题。我有一个python脚本,它正在我的当前目录中写入一个新的csv文件。我已经用pyinstaller把它做成了python.exe。我正在做的是,运行这个exe文件使用VBA表格excel在一个按钮上点击。问题是运行exe后使用VBA我的csv是保存在默认的文档文件夹,而不是我的python.exe的文件夹。但是如果我不使用VBA直接运行python.exe,那么它会将csv保存在我当前的目录中。那么在使用VBA运行python.exe之后,如何将csv保存到当前目录中呢?
这是我创建新csv文件的python代码:
csvfile = open("Mycsv" + '.csv', 'w')
cr = csv.writer(csvfile, dialect='excel')
我也尝试过使用:csvfile = open(os.getcwd() + "\Mycsv" + '.csv', 'w')
,但不起作用。
下面是我的VBA代码:
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim errorCode As Integer
wsh.Run Chr(34) & ThisWorkbook.path & "\python.exe" & Chr(34), windowStyle, waitOnReturn
发布于 2018-07-04 20:50:22
在保存文件之前,可以使用os.chdir(some_path_to_directory)
设置当前工作目录,然后保存到此目录中。
发布于 2018-07-04 20:58:04
尝试指定csv文件的路径:
import os.path
save_path = 'C:/example/'
csvName = os.path.join(save_path, "Mycsv"+".csv")
csvfile = open(csvName, "w")
https://stackoverflow.com/questions/51173791
复制相似问题