python - 每行前面的循环文本
问题描述
我想使用 Python 3.x 从 Yahoo Finance 收集股票数据。
目前我使用以下数据字符串:
import requests
url = "https://query1.finance.yahoo.com/v7/finance/download/AAC?period1=1514761200&period2=1517439600&interval=1d&events=history&crumb=Nr.jC4aJCc7"
s = "AAC,"
response = requests.post(url)
print ((s),(response.text))
这段代码给了我以下回报:
AAC, Date,Open,High,Low,Close,Adj Close,Volume 2018-01-16,9.370000,9.410000,9.000000,9.060000,9.060000,69400 2018-01-17,9.120000,9.170000,9.000000,9.030000,9.030000,104500 2018-01-18,9.050000,9.135000,8.980000,8.990000,8.990000,166600 2018-01-19,9.000000,9.270000,9.000000,9.200000,9.200000,110600 2018-01-22,9.200000,9.200000,8.940000,9.080000,9.080000,139200 2018-01-23,9.050000,9.110000,9.000000,9.020000,9.020000,54700 2018-01-24,9.070000,9.070000,8.910000,8.950000,8.950000,117500 2018-01-25,9.000000,9.060000,8.900000,9.050000,9.050000,204300 2018-01-26,9.110000,9.240000,9.090000,9.170000,9.170000,62000 2018-01-29,9.170000,9.780000,9.170000,9.500000,9.500000,173300 2018-01-30,9.400000,9.480000,9.000000,9.080000,9.080000,82800 2018-01-31,9.080000,9.250000,8.820000,8.950000,8.950000,122000
我想收到以下回报:
Ticker,Date,Open,High,Low,Close,Adj Close,Volume, AAC,2018-01-16,9.370000,9.410000,9.000000,9.060000,9.060000,69400 AAC,2018-01-17,9.120000,9.170000,9.000000,9.030000,9.030000,104500 AAC,2018-01-18,9.050000,9.135000,8.980000,8.990000,8.990000,166600 AAC,2018-01-19,9.000000,9.270000,9.000000,9.200000,9.200000,110600 AAC,2018-01-22,9.200000,9.200000,8.940000,9.080000,9.080000,139200 AAC,2018-01-23,9.050000,9.110000,9.000000,9.020000,9.020000,54700 AAC,2018-01-24,9.070000,9.070000,8.910000,8.950000,8.950000,117500 AAC,2018-01-25,9.000000,9.060000,8.900000,9.050000,9.050000,204300 AAC,2018-01-26,9.110000,9.240000,9.090000,9.170000,9.170000,62000 AAC,2018-01-29,9.170000,9.780000,9.170000,9.500000,9.500000,173300 AAC,2018-01-30,9.400000,9.480000,9.000000,9.080000,9.080000,82800 AAC,2018-01-31,9.080000,9.250000,8.820000,8.950000,8.950000,122000
有没有人可以帮助我解决这个问题?
解决方案
您可以根据需要使用 python 方法来格式化传入的文本。我正在使用 split() 在换行符处拆分文本,这是生成器理解中的一个三元组,以预先添加任何一个'Ticker,'
或'AAC,'
部分并将join()
其粘合在一起(指向 doku 的链接见下文):
import requests
url = "https://query1.finance.yahoo.com/v7/finance/download/AAC?period1=1514761200&period2=1517439600&interval=1d&events=history&crumb=Nr.jC4aJCc7"
s = "AAC,"
response = requests.post(url)
text_lines = '\n'.join(('Ticker,' if x.startswith("Date") else s) + x.strip()
for x in response.text.split("\n") if x)
print(text_lines)
输出:
Ticker,Date,Open,High,Low,Close,Adj Close,Volume
AAC,2018-01-16,9.370000,9.410000,9.000000,9.060000,9.060000,69400
AAC,2018-01-17,9.120000,9.170000,9.000000,9.030000,9.030000,104500
AAC,2018-01-18,9.050000,9.135000,8.980000,8.990000,8.990000,166600
AAC,2018-01-19,9.000000,9.270000,9.000000,9.200000,9.200000,110600
AAC,2018-01-22,9.200000,9.200000,8.940000,9.080000,9.080000,139200
AAC,2018-01-23,9.050000,9.110000,9.000000,9.020000,9.020000,54700
AAC,2018-01-24,9.070000,9.070000,8.910000,8.950000,8.950000,117500
AAC,2018-01-25,9.000000,9.060000,8.900000,9.050000,9.050000,204300
AAC,2018-01-26,9.110000,9.240000,9.090000,9.170000,9.170000,62000
AAC,2018-01-29,9.170000,9.780000,9.170000,9.500000,9.500000,173300
AAC,2018-01-30,9.400000,9.480000,9.000000,9.080000,9.080000,82800
AAC,2018-01-31,9.080000,9.250000,8.820000,8.950000,8.950000,122000
独库:
推荐阅读
- visual-studio - 如何在 Visual Studio 中使用 Cmake 设置 Intel IPP?
- fiware - 通过 RPM 安装 Cygnus:存储库问题
- powershell - Powershell通过按升序替换n个字符来重命名文件名
- linux - QBluetooth BLE 广告在 ubuntu (BlueZ) 上不起作用
- sql - 借方贷方余额和期初余额计算
- c# - 使用 MsTest 的 Moq 静态隐式运算符
- python - 如何在变量中获取python代码的python交互式shell输出?
- rust - 创建一个实现特定 Fn 接口的结构
- reactjs - 如何将拦截器响应或拦截器错误中的数据传递给 React 中的其他组件
- django - Django Rest - 测试 api 删除