我正在尝试找到一种方法,将一些数据帧保存为.csv格式,作为我用Python语言设计的ML例程的一部分。由于这由多个步骤组成,因此我想创建文件夹,将数据帧作为代码的一部分保存在这些文件夹中。由于pandas.DataFrame.to_csv
不允许您创建文件夹,因此我找到了使用os
的解决方案
import os
import pandas as pd
outname = 'name.csv'
outdir = './dir'
if not os.path.exists(outdir):
os.mkdir(outdir)
fullname = os.path.join(outdir, outname)
df.to_csv(fullname)
但是,此方法要求您指定目录路径。因为我希望代码在多个设备上运行,而不需要每次都重写特定的outdir
,所以我正在寻找一种方法,可以在当前.csv工作目录(无论是每个设备上的哪个)中创建一个文件夹,在其中保存Python文件,而不需要写下路径。
发布于 2021-09-11 10:33:54
您不必指定完整路径,只需指定相对路径即可。
尝试:
import os
import pandas as pd
outname = 'name.csv'
outdir = 'dir'
if not os.path.exists(outdir):
os.mkdir(outdir)
df.to_csv(f"{outdir}/{outname}")
或者,您可以使用包含脚本完整路径的__file__
变量。__file__
只有在您将其作为脚本而不是在解释器中运行时才能工作。
import os
import pandas as pd
outname = 'name.csv'
outdir = 'dir'
fullname = os.path.join(os.path.dirname(__file__), outdir)
if not os.path.exists(fullname):
os.mkdir(fullname)
df.to_csv(f"{fullname}/{outname}")
https://stackoverflow.com/questions/69145674
复制相似问题