将pandas csv保存到子目录
问题内容:
我正在尝试将以下代码的输出保存到子目录:
for gp in g:
filename = gp[0] + '.csv'
print(filename)
gp[1].to_csv(filename)
我首先创建了子目录:
os.makedirs('MonthlyDataSplit')
但是我找不到任何有关如何使用to_csv
保存到子目录而不是当前目录的信息。我当时想的一种方法是使用,with "MonthlyDataSplit" open as directory
但是我只能找到在子目录中打开文件的等效方法。
问题答案:
基本上,您可以构建一个包含子目录的路径,并将其作为路径arg传递给to_csv
:
root = 'MonthlyDataSplit'
for gp in g:
filename = gp[0] + '.csv'
print(filename)
gp[1].to_csv(root + '/' + filename)
您需要添加斜杠分隔符以指示什么是目录名和什么是文件名,我建议使用它os.path.join
来简化此过程:
In [3]:
import os
root = 'MonthlyDataSplit'
os.path.join(root, 'some_file.csv')
Out[3]:
'MonthlyDataSplit\\some_file.csv'
对于其他子目录,您只需添加一个新级别:
In [8]:
import os
root = 'MonthlyDataSplit'
day = 'Day'
subdir = os.path.join(root, day)
final_path = os.path.join(subdir, 'some_file_name')
final_path
Out[8]:
'MonthlyDataSplit\\Day\\some_file_name'