df_{code} = pd.read_html(str(table))` 변수를 이렇게 지정하는 건 안되는 건가요?
조회수 723회
import pandas as pd
import requests
from bs4 import BeautifulSoup
# 종목코드 예쁘게 하는 함수
def make_code(x):
x = str(x)
x = x.zfill(6)
return x
# 종목코드 따오기
url_comp_code = "http://kind.krx.co.kr/corpgeneral/corpList.do?method=download&searchType=13&marketType=%s"
code_data = pd.read_html(url_comp_code, header=0)[0]
code_data = code_data[["종목코드", "회사명"]]
code_data["종목코드"] = code_data["종목코드"].apply(make_code)
# 종목코드를 url에 적용하기
for num, code in enumerate(code_data["종목코드"]):
fs_url = "http://comp.fnguide.com/SVO2/ASP/SVD_Main.asp?pGB=1&gicode=A{}&cID=&MenuYn=Y&ReportGB=&NewMenuID=101&stkGb=701".format(code)
fs_page = requests.get(fs_url)
soup = pd.read_html(fs_page.text, "lxml")
table = soup.find_all("table")
df_{code} = pd.read_html(str(table))
# 테이블의 NaN값을 0으로 하기
for i in range(len(df_{code})):
df[i].fillna(0,inplace=True)
print(df_{code}[0])
오류가 나는데요, 이게 df_{code} = pd.read_html(str(table))
이렇게 설정한 거 때문인거 같은데
변수를 이렇게 지정하는 건 안되는 건가요?
답변주시면 감사하겠습니다.
해결책도 부탁드립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
df_{code} = pd.read_html(str(table))
이렇게 설정한 거 때문인거 같은데 변수를 이렇게 지정하는 건 안되는 건가요?안됩니다.
- 단순명료해서 감사한데요, 혹시 if문 말고 다른 방법이라도 변수 이름을 바꾸면서 처리하는 방법이 있나요? 알 수 없는 사용자 2021.1.19 23:37
- @양영민 : df_dic = {} // df_dic[code] = ... 이런식으로 사용해야 할 것 같아요. nowp 2021.1.20 08:05
- 좀 많이 복잡하겠네요... 감사합니다.~~ 알 수 없는 사용자 2021.1.21 21:39
댓글 입력