python-3.x - 从多个 URL 中提取数据帧,导出到一个 CSV
问题描述
总的来说,我对 Python 和编码相对较新,并且正在为我正在从事的项目而苦苦挣扎。
我正在尝试将来自多个 URL 的数据提取到一个大型电子表格中。我认为数据框正在循环中被覆盖,但我不确定如何将它们全部拉到一个大型电子表格中。
建议将不胜感激! 更新
import requests
import pandas as pd
dates = ['Jan2014', 'Feb2014', 'Mar2014', 'Apr2014', 'May2014', 'Jun2014', 'Jul2014', 'Aug2014', 'Sep2014', 'Oct2014', 'Nov2014', 'Dec2014']
urlprefix = 'https://www.testurl.com'
for i in dates:
page = urlprefix + i + 'expenses.htm'
html = requests.get(page).content
df_list = pd.read_html(html)
df = df_list[-1]
df_list.append(df)
big_df = pd.concat(df_list, ignore_index=True)
print(big_df)
big_df.to_csv('render.csv', encoding="utf-8-sig")
解决方案
.read_html()
可以直接读表- 将 HTML 表格读入 DataFrame 对象列表。
- 您当前的代码获取数据框列表,获取列表中的最后一个数据框,然后将其附加到同一列表中。
import pandas as pd
dates = ['Jan2014', 'Feb2014', 'Mar2014', 'Apr2014', 'May2014', 'Jun2014', 'Jul2014', 'Aug2014', 'Sep2014', 'Oct2014', 'Nov2014', 'Dec2014']
urlprefix = 'https://www.testurl.com'
df_list = list() # list of dataframes to keep
for i in dates:
page = urlprefix + i + 'expenses.htm'
df = pd.read_html(page)[-1] # get dataframe of last table
df_list.append(df) # append to list of dataframes to keep
big_df = pd.concat(df_list, ignore_index=True)
print(big_df)
big_df.to_csv('render.csv', encoding="utf-8-sig")
推荐阅读
- animation - 从 lineto 到三次贝塞尔曲线命令的 SVG 路径动画
- javascript - 定义 API GATEWAY 列表类型参数
- powershell - 我如何知道谁重命名了活动目录中的特定组?
- node.js - 从 Heroku 开始。身份验证问题
- java - onCreate 运行了两次,因为我在应用程序启动时设置了语言环境?
- javascript - 使用不带表单的 dropzone.options
- javascript - opencart v3中猫头鹰轮播的使用
- javascript - 图表js,饼图去掉borderradius
- c# - 为什么 Xamarin UITest 在测试之间重新启动应用程序?
- ios - Apple PKI 的内部分发证书的有效期为多长时间