将pandas的csv文件保存到子目录中。

9

我正在尝试将以下代码的输出保存到一个子目录中:

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,但我只能找到相当于在子目录中打开文件的等效方法。

1个回答

13

基本上,您可以构建一个包含子目录的路径,并将其作为path参数传递给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'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接