python-3.x - Python - 创建一个 for 循环来构建具有多个数据帧的单个 csv 文件
问题描述
我是 python 新手,正在尝试各种方法来学习基础知识。我目前坚持的一件事是 for 循环。我有以下代码,并且肯定可以使用循环更有效地构建它,但我不确定具体如何。
import pandas as pd
import numpy as np
url1 = 'https://www.cbssports.com/nfl/stats/player/receiving/nfl/regular/qualifiers/?page=1'
url2 = 'https://www.cbssports.com/nfl/stats/player/receiving/nfl/regular/qualifiers/?page=2'
url3 = 'https://www.cbssports.com/nfl/stats/player/receiving/nfl/regular/qualifiers/?page=3'
df1 = pd.read_html(url1)
df1[0].to_csv ('NFL_Receiving_Page1.csv', index=False) #index false gets rid of index listing that appears as the very first column in the csv
df2 = pd.read_html(url2)
df2[0].to_csv ('NFL_Receiving_Page2.csv', index=False) #index false gets rid of index listing that appears as the very first column in the csv
df3 = pd.read_html(url3)
df3[0].to_csv ('NFL_Receiving_Page3.csv', index=False) #index false gets rid of index listing that appears as the very first column in the csv
df_receiving_agg = pd.concat([df1[0], df2[0], df3[0]])
df_receiving_agg.to_csv('NFL_Receiving_Combined.csv', index=False) #index false gets rid of index listing that appears as the very first column in the csv
我最终试图将上述 URL 中的数据组合到 csv 文件中的单个表中。
解决方案
你可以试试这个:
urls = [url1,url2,url3]
df_receiving_agg = pd.DataFrame()
for url in urls:
df = pd.read_html(url)
df_receiving_agg = pd.concat([df_receiving_agg, df])
df_receiving_agg.to_csv('filepath.csv',index=False)
推荐阅读
- python - 为什么 pymongo find_one 在不同的操作系统中速度较慢?
- vba - 第三个组合框的结果应该由VBA用户表单中其他两个组合框的结果决定?
- kotlin - Kotlin Playground – 变量 'mainProperty' 初始化器是多余的
- javascript - ReactJS 表单:父组件状态更新,但子字段被清空且道具保持不变
- sql - 获取同一组中有多个记录
- vue.js - Vue 方法不会将 d3 scale 识别为函数
- spring - 基于正确配置文件设置的 Spring Boot 运行 tomcat
- sql - 导入 csv excel 文件时,Laravel 7 时间戳迁移始终返回 0000-00-00 00:00:00
- react-native - React 本机构建过程失败
- tensorflow - rllib - 从检查点获取 TensorFlow 或 PyTorch 模型输出