我正在尝试使用这个Python脚本来调用一个r脚本并运行它。r脚本是dbc2csv.r,其代码位于Python块下方。
我设法调用了r脚本,并打开了R Studio,但代码不会像我希望的那样自动运行。我的感觉是subprocess.call
行有问题,但我想不出原因。
import subprocess
import os
os.chdir("path")
def dbc2csv(raw_filename):
dbc2csv_path = "Code\\R\\dbc2csv.R " + "Data\\CNES\\2005" + " " + "Data\\CNES\\2005" + " " + raw_filename
try:
r_script_path = subprocess.getoutput('Code\\R\\dbc2csv.r')
subprocess.call([r_script_path, "--vanilla", dbc2csv_path])
return True
except:
print("dbc2csv - Error converting file: " + raw_filename)
return False
dbc2csv("Data\\CNES\\STAC0508.dbc")
这是我尝试调用和执行的R脚本。
#install.packages("read.dbc") You need this package
library("read.dbc")
dbc2dbf <- function(rawDir, convertedDir, file) {
# reads dbc file
x <- read.dbc(paste(rawDir, file, sep=""))
# write it to csv
write.csv(x, file=paste(convertedDir, file, ".csv", sep=""))
}
args = commandArgs(trailingOnly=TRUE)
try(dbc2dbf(args[1], args[2], args[3]), TRUE)