python - AttributeError:类型对象“DataFrame”没有属性“pd”
问题描述
import pandas as pd
import os
import time
from datetime import datetime
path = "C:/Users/Aben/Downloads/intraQuarter"
def Key_Stats(gather="Total Debt/Equity (mrq)"):
statspath = path+'/_KeyStats'
stock_list = [x[0] for x in os.walk(statspath)]
df = pd.DataFrame(columns = ['Date','Unix','Ticker','DE Ratio'])
sp500_df = pd.DataFrame.pd.read_csv("YAHOO-INDEX_CSPC.csv")
for each_dir in stock_list[1:]:
each_file = os.listdir(each_dir)
ticker = each_dir.split("\\")[1]
if len(each_file) > 0:
for file in each_file:
date_stamp = datetime.strptime(file, '%Y%m%d%H%M%S.html')
unix_time = time.mktime(date_stamp.timetuple())
full_file_path = each_dir+'/'+file
source = open(full_file_path,'r').read()
try:
value = float(source.split(gather+':</td><td class="yfnc_tabledata1">')[1].split('</td>')[0])
try:
sp500_date = datetime.fromtimestamp(unix_time).strftime('%Y-%m-%d')
row = sp500_df[sp500_df["Date"] == sp500_date]
sp500_value = float(row["Adj Close"])
except:
sp500_date = datetime.fromtimestamp(unix_time-259200).strftime('%Y-%m-%d')
row = sp500_df[sp500_df["Date"] == sp500_date]
sp500_value = float(row["Adj Close"])
stock_price = float(source.split('</small><big><b>')[1].split('</b></big>')[0])
print("stock_price:",stock_price,"ticker:",ticker)
df = df.append({'Date':date_stamp,'Unix':unix_time,'Ticker':ticker,'DE Ratio':value,}, ignore_index = True)
except Exception as e:
pass
save = gather.replace(' ','').replace('(','').replace(')','').replace('/','')+('.csv')
print(save)
df.to_csv(save)
Key_Stats()
在 python 3.8.3 中运行此代码时,我收到此错误消息:
Traceback (most recent call last):
File "C:\Users\Aben\Downloads\pythonstuff\stockbot.py", line 49, in <module>
Key_Stats()
File "C:\Users\Aben\Downloads\pythonstuff\stockbot.py", line 14, in Key_Stats
sp500_df = DataFrame.pd.read_csv("YAHOO-INDEX_CSPC.csv")
AttributeError: type object 'DataFrame' has no attribute 'pd'
有谁知道为什么?我用 pd.read_csv 替换了 from_csv,但现在又出现了另一个错误。我使用的文件实际上是一个 txt 文件,但我在最后用 .csv 扩展名重命名了它。顺便说一句,我正在使用本教程
解决方案
替换这一行:
sp500_df = pd.DataFrame.pd.read_csv("YAHOO-INDEX_CSPC.csv")
和
sp500_df = pd.read_csv("YAHOO-INDEX_CSPC.csv")
推荐阅读
- java - 302重定向加载空白页面
- algorithm - Ratcliff-Obershelp 字符串相似度
- android - 如何查找 Android 应用程序中是否正在使用 Java 包?
- ios - Safari bug - selenium Actions 点击方法
- sql - 在没有 FK 的情况下保持参照完整性
- json - 如何从 React Native 中的服务器响应中更新状态
- php - 为什么我在我的 PHP 中两次获得相同的列?PostgreSQL 查询?
- r - 使用主成分构建分数图
- nginx - Kubernetes(然后是牧场主)超时
- r - 对列名以特定字符串 (R) 结尾的列中的行求和