我尝试将数据帧保存到csv文件,但使用子目录将其分配给时出现错误FileNotFoundError: [Errno 2] No such file or directory
使用绝对路径工作,然后运行所有内容,然后注释掉脚本的其余部分(不清除变量),然后只运行代码来保存数据帧,使用子目录工作。因此,我在保存数据帧之前使用的路径目录(在同一脚本中)会以某种方式影响它。
下面是我的脚本的一个非常通用的代码
check = "Data\\"
def my_function(directory):
(myfunction)
return allvars;
directories = [os.path.abspath(x[0]) for x in os.walk(check)]
directories.remove(os.path.abspath(check))
list_of_df = []
for i in directories:
try:
os.chdir(i)
x = my_function(i)
list_of_df .append(x)
except(ValueError):
continue
#specific savepath needed otherwise error!
savepath = 'MY_ABSOLUTE_PATH\\'
for a, b in enumerate(list_of_df ):
# b.to_csv(savepath+dataframe{}.csv'.format(a)) #WORKS
b.to_csv('Data\\Random\\dataframe{}.csv'.format(a)) #ERROR发布于 2019-04-09 18:09:10
正如您所说,如果文件不存在,to_csv会创建该文件,但它不会创建不存在的目录。确保已先创建了要在其中保存文件的子目录。
我在工作中经常做这样的事情:
import os
outname = 'name.csv'
outdir = './dir'
if not os.path.exists(outdir):
os.mkdir(outdir)
fullname = os.path.join(outdir, outname)
df.to_csv(fullname)如果您需要经常这样做,可以很容易地将其封装在一个函数中。
https://stackoverflow.com/questions/55590223
复制相似问题