确定,我将开始显示我的代码:
import requests
import json
import csv
import pandas as pd
with open('AcoesURLJsonCompleta.csv', newline='') as csvfile:
urlreader = csv.reader(csvfile, delimiter=',')
for obj_id in urlreader:
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
jsonData = requests.get(row, headers=headers).json()
mapper = (
('Ticker', 'ric'),
('Beta', 'beta'),
('DY', 'current_dividend_yield_ttm'),
('VOL', 'share_volume_3m'),
('P/L', 'pe_normalized_annual'),
('Cresc5A', 'eps_growth_5y'),
('LPA', 'eps_normalized_annual'),
('VPA', 'book_value_share_quarterly'),
('LAST', 'last')
)
data = {}
for dataKey, jsonDataKey in mapper:
d = jsonData.get(jsonDataKey, '')
try:
flt_d = float(d)
except ValueError:
d = ''
finally:
data[dataKey] = [d]
table = pd.DataFrame(data, columns=['Ticker', 'Beta', 'DY', 'VOL', 'P/L', 'Cresc5A', 'LPA', 'VPA', 'Last'])
table.index = table.index + 1
table.to_csv('CompleteData.csv', sep=',', encoding='utf-8', index=False)
print(table)
好,让我们开始吧:
for rows in Urls
是正确的吗?我想循环浏览存储在CSV文件中的Urls,但不知道是否正确使用了分割和剥离。jsonData
请求都返回NaN或Null或找不到任何内容,我该如何将其放在代码中,以便在发生这种情况时将其跳转到另一个URL并附加“”(无)?] >整个代码的输出为line 25, in <module>
Beta = jsonData['beta']
KeyError: 'beta'
谢谢
编辑:代码已编辑。我的csv中的一些网址,每行一个:
https://www.reuters.com/companies/api/getFetchCompanyKeyMetrics/LEVE3.sa, https://www.reuters.com/companies/api/getFetchCompanyKeyMetrics/LIGT3.sa, https://www.reuters.com/companies/api/getFetchCompanyKeyMetrics/LINX3.sa, https://www.reuters.com/companies/api/getFetchCompanyKeyMetrics/LLIS3.sa,
所以,我想要的是:循环从CSV站点中的站点获取数据(作为代码源),然后将其存储在另一个CSV中。
[好,我将开始显示我的代码:导入请求import json导入csv以pd的形式将pandas以open('AcoesURLJsonCompleta.csv',newline ='')作为csvfile:urlreader = csv.reader(csvfile,。 ..
更新的代码
您可以做的一件事就是将需求3的概念封装在其自身的功能中: