LoL*_*oLa 23 python python-2.7 pandas
嗨:我正在尝试使用该Pandas DataFrame.to_csv方法将文件保存dataframe到csv文件中:
filename = './dir/name.csv'
df.to_csv(filename)
Run Code Online (Sandbox Code Playgroud)
但是我收到错误:
IOError: [Errno 2] No such file or directory: './dir/name.csv'
Run Code Online (Sandbox Code Playgroud)
如果to_csv该文件不存在,该方法是否应该能够创建该文件?这就是我打算做的事情.
qRT*_*PCR 37
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)
Run Code Online (Sandbox Code Playgroud)
如果您需要经常这样做,这可以很容易地包含在一个函数中.
Tim*_*Tim 13
这是使用出色的标准库pathlib模块执行此操作的另一种方法,该模块通常使事情变得更整洁。
如其他地方所述,如果文件不存在,to_csv将创建该文件,但不会在文件路径中创建任何不存在的目录,因此需要首先确保这些文件存在。
from pathlib import Path
output_file = 'my_file.csv'
output_dir = Path('long_path/to/my_dir')
output_dir.mkdir(parents=True, exist_ok=True)
df.to_csv(output_dir / output_file) # can join path elements with / operator
Run Code Online (Sandbox Code Playgroud)
设置parents=True还将创建任何必要的父目录,exist_ok=True这意味着如果该目录已经存在,则不会引发错误,因此您不必单独进行明确检查。
| 归档时间: |
|
| 查看次数: |
23078 次 |
| 最近记录: |