【发布时间】:2021-09-02 09:57:18
【问题描述】:
我正在像这样将df 写入csv。
table = driver.find_element_by_xpath('//table[@class="table-main detail-odds sortable"]').get_attribute('outerHTML')
df = pd.read_html(table)[0]
row_drop = df[df['Bookmakers'].str.contains("Highest", na=False)].index.tolist()
df = df.iloc[:row_drop[0]+1]
df.insert(0,'Name', f'{name}')
df.insert(1,'Date', f'{date}')
df.insert(2,'Result',f'{result}')
df[['Name', 'Date', 'Result']] = df[['Name', 'Date','Result']].mask(df.duplicated(subset=['Name', 'Date', 'Result']), '')
fullname =f'{name}.csv'
outdir = './Tennis'
if not os.path.exists(outdir):
os.mkdir(outdir)
fullname = os.path.join(outdir, fullname)
df.to_csv(fullname, index=False)
但是,它写入了 10 个文件,然后抛出了这个错误
FileNotFoundError: [Errno 2] 没有这样的文件或目录: './Tennis\El Allami F-Z./Mecchi C. - Perrin C./Shrivastava A.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
这将exist_ok 提供为unexpected_argument。在删除这个..我得到同样的错误。这是哪里出了问题?
info :- 10 是第一页上的链接数。每页获取 1 个 csv。因此,驱动程序打开另一个页面,其中包含另一个设置链接,但在第一个链接上失败。我不知道这与它有什么关系。
【问题讨论】:
-
这是唯一一个文件名中包含
/的文件(或第一个文件程序遇到的)吗?我的猜测是它试图在./Tennis\El Allami F-Z./Mecchi C. - Perrin C./文件夹中创建一个名为Shrivastava A.csv的文件,而代码表明文件名是El Allami F-Z./Mecchi C. - Perrin C./Shrivastava A.csv -
它只是写入一个名为
Tennis的文件夹。El Allami F-Z./Mecchi C. - Perrin C./Shrivastava A.实际上是网站上匹配的名称......我想就是这样。
标签: python pandas web-scraping