'DataFrame' 对象没有属性 'split' 从 .csv 文件导入股票代码列表时出现问题
'DataFrame' object has no attribute 'split' problem occured when import stock ticker list from .csv file
我在使用 yfinance 时遇到问题:我必须从 .csv 文件导入 101 个代码才能下载收盘价。
这是我的代码:
import pandas as pd
import yfinance as yf
import datetime
tickers = pd.read_csv('symbols.csv', sep=";", header=None, nrows=1)
stocks = yf.download(tickers, start="2020-03-31",end="2020-04-20")
close = stocks['Close']
print(close)
我的 .csv 文件只有一行,所有代码都用“;”分隔。我该如何修复它?谢谢! :)
.download()
采用列表或字符串,但不采用 DataFrame。
我建议改为使用 csv
模块读取文件:
import csv
with open('symbols.csv','r') as f:
reader = csv.reader(f,delimiter=';')
tickers = next(reader) # tickers is now a list
stocks = yf.download(tickers, start="2020-03-31",end="2020-04-20")
结果(使用 AAPL 和 GOOGL):
In [19]: stocks
Out[19]:
Adj Close Close ... Open Volume
AAPL GOOGL AAPL ... GOOGL AAPL GOOGL
Date ...
2020-03-31 254.289993 1161.949951 254.289993 ... 1148.729980 49250500 3261400
2020-04-01 240.910004 1102.099976 240.910004 ... 1124.000000 44054600 2598500
2020-04-02 244.929993 1117.030029 244.929993 ... 1100.000000 41483500 2820500
2020-04-03 241.410004 1092.699951 241.410004 ... 1114.709961 32470000 2568700
2020-04-06 262.470001 1183.189941 262.470001 ... 1133.000000 50455100 3166000
2020-04-07 259.429993 1182.560059 259.429993 ... 1217.010010 50721800 3081000
2020-04-08 266.070007 1207.000000 266.070007 ... 1203.099976 42223800 2016700
2020-04-09 267.989990 1206.569946 267.989990 ... 1218.180054 40529100 2701400
2020-04-13 273.250000 1210.410034 273.250000 ... 1201.500000 32755700 1935100
2020-04-14 287.049988 1265.229980 287.049988 ... 1239.969971 48748700 3167900
2020-04-15 284.429993 1257.300049 284.429993 ... 1246.510010 32788600 2111800
2020-04-16 286.690002 1257.430054 286.690002 ... 1267.140015 39281300 2894800
2020-04-17 282.799988 1279.000000 282.799988 ... 1281.699951 53812500 2552500
[13 rows x 12 columns]
我在使用 yfinance 时遇到问题:我必须从 .csv 文件导入 101 个代码才能下载收盘价。
这是我的代码:
import pandas as pd
import yfinance as yf
import datetime
tickers = pd.read_csv('symbols.csv', sep=";", header=None, nrows=1)
stocks = yf.download(tickers, start="2020-03-31",end="2020-04-20")
close = stocks['Close']
print(close)
我的 .csv 文件只有一行,所有代码都用“;”分隔。我该如何修复它?谢谢! :)
.download()
采用列表或字符串,但不采用 DataFrame。
我建议改为使用 csv
模块读取文件:
import csv
with open('symbols.csv','r') as f:
reader = csv.reader(f,delimiter=';')
tickers = next(reader) # tickers is now a list
stocks = yf.download(tickers, start="2020-03-31",end="2020-04-20")
结果(使用 AAPL 和 GOOGL):
In [19]: stocks
Out[19]:
Adj Close Close ... Open Volume
AAPL GOOGL AAPL ... GOOGL AAPL GOOGL
Date ...
2020-03-31 254.289993 1161.949951 254.289993 ... 1148.729980 49250500 3261400
2020-04-01 240.910004 1102.099976 240.910004 ... 1124.000000 44054600 2598500
2020-04-02 244.929993 1117.030029 244.929993 ... 1100.000000 41483500 2820500
2020-04-03 241.410004 1092.699951 241.410004 ... 1114.709961 32470000 2568700
2020-04-06 262.470001 1183.189941 262.470001 ... 1133.000000 50455100 3166000
2020-04-07 259.429993 1182.560059 259.429993 ... 1217.010010 50721800 3081000
2020-04-08 266.070007 1207.000000 266.070007 ... 1203.099976 42223800 2016700
2020-04-09 267.989990 1206.569946 267.989990 ... 1218.180054 40529100 2701400
2020-04-13 273.250000 1210.410034 273.250000 ... 1201.500000 32755700 1935100
2020-04-14 287.049988 1265.229980 287.049988 ... 1239.969971 48748700 3167900
2020-04-15 284.429993 1257.300049 284.429993 ... 1246.510010 32788600 2111800
2020-04-16 286.690002 1257.430054 286.690002 ... 1267.140015 39281300 2894800
2020-04-17 282.799988 1279.000000 282.799988 ... 1281.699951 53812500 2552500
[13 rows x 12 columns]