https://iftp.chinamoney.com.cn/english/bdInfo/ 从链接页面获取公开数据 需要获取数据的条件: Bond Type=Treasury Bond, Issue Year=2023 并将数据保存成csv文件
时间: 2024-01-08 10:02:51 浏览: 193
要从给定的链接页面获取公开数据,并根据条件筛选数据,然后将数据保存为CSV文件,可以使用Python的requests和pandas库进行处理。以下是一个示例代码:
```python
import requests
import pandas as pd
url = 'https://iftp.chinamoney.com.cn/english/bdInfo/'
# 发起请求并获取页面内容
response = requests.get(url)
# 使用pandas的read_html函数读取网页中的表格数据
tables = pd.read_html(response.text)
# 找到符合条件的表格
table = None
for t in tables:
if 'Bond Type' in t.columns and 'Issue Year' in t.columns:
if t[(t['Bond Type'] == 'Treasury Bond') & (t['Issue Year'] == 2023)].shape[0] > 0:
table = t
break
# 如果找到符合条件的表格,则保存为CSV文件
if table is not None:
# 定义要保存的列名
columns = ['ISIN', 'Bond Code', 'Issuer', 'Bond Type', 'Issue Date', 'Latest Rating']
# 提取符合条件的数据
data = table[table['Bond Type'] == 'Treasury Bond']
data = data[data['Issue Year'] == 2023][columns]
# 将数据保存为CSV文件
data.to_csv('output.csv', index=False)
print('数据已保存为output.csv文件')
else:
print('未找到符合条件的数据')
```
上述代码会发起请求并获取页面内容,然后使用pandas的`read_html`函数将页面中的表格数据解析为DataFrame对象。接着,代码会遍历解析的表格,并根据条件筛选出符合条件的表格数据。最后,将符合条件的数据提取出来,并保存为CSV文件(output.csv)。
请注意,代码中的条件判断假设表格中存在名为'Bond Type'和'Issue Year'的列,并且'Bond Type'的值为'Treasury Bond','Issue Year'的值为2023。如果页面结构与此不符,请根据实际情况进行相应调整。
希望这可以满足您的需求!如有任何进一步的问题,请随时提问。
阅读全文