2017-01-03 1 views
1

아래 링크를 참조하십시오. http://www.bseindia.com/stock-share-price/stockreach_financials.aspx?scripcode=505200&expandable=0동일한 csv 파일에 다른 html 파일 열 추가

해당 웹 사이트에서 데이터를 추출하여 가로 및 세로로 조 변경해야합니다. 그에 대한 나의 코드는

from bs4 import BeautifulSoup 
from urllib.request import urlopen 
import pandas as pd 
import csv 
from pandas import read_csv 
import requests 

file_path=r'C:\Users\PreciseT3\Desktop\EicherStockDetails.csv' 
stock_ratio_filepath=r'C:\Users\PreciseT3\Desktop\facevalues.csv' 
url = 'http://www.bseindia.com/stock-share-price/stockreach_financials.aspx?scripcode=505200&expandable=0' 
eicher_stock_url='http://www.moneycontrol.com/stocks/company_info/print_financials.php?sc_did=EM&type=cons_keyfinratio' 
html = urlopen(url).read() 
soup = BeautifulSoup(html, "html.parser") 


main = [] 
for tr in soup.findAll('tr'): 
    mainSub = [] 
    for td in tr.findAll('td'): 
     mainSub += [td.text]  
    main += [mainSub] 

splitter = [] 
for y in range(len(main)):  
    splitter += [any('--' in x for x in main[y])]   


split_index = [x for x in range(len(splitter)) if splitter[x] == True] 
main_split = main[(split_index[3]+2):(split_index[8]-2)] 


main_zip=list(zip(*main_split)) 
DF = pd.DataFrame(main_zip,columns=[x.replace(' ', '_') for x in main_zip.pop(0)]) 
with open(stock_ratio_filepath,'r+') as file: 
    writer=csv.writer(file) 
    writer.writerow(DF) 
    for row_values in main_zip: 
     writer.writerow(row_values) 

하고 다음과 같이 내 출력 CSV 파일 형식은 다음과 같습니다

EicherStockDetails.csv

Revenue,Other_Income,Total_Income,Expenditure,Interest,PBDT,Depreciation,PBT,Tax,Net_Profit,Equity,EPS,CEPS,OPM_%,NPM_% 

"6,188.03",178.24,"6,366.27","-4,457.55",-1.41,"1,907.31",-137.73,"1,769.58",-539.73,"1,229.85",27.16,453.20,503.53,30.85,19.87 

"3,031.22",116.30,"3,147.52","-2,297.66",-1.67,848.19,-50.16,798.03,-239.11,558.92,27.10,206.38,224.75,28.04,18.44 

"1,702.47",80.10,"1,782.57","-1,388.74",-0.27,393.56,-30.41,363.15,-84.53,278.62,27.04,103.15,114.29,23.13,16.37 

"1,049.26",45.78,"1,095.04",-903.83,-0.26,190.95,-17.15,173.80,-29.04,144.76,27.00,53.62,59.97,18.22,13.80 

670.95,75.89,746.84,-589.97,-2.02,154.85,-13.02,141.83,-17.28,124.55,26.99,46.18,50.97,23.38,18.56 

내 요구 사항은 다음과 같습니다

  • 이입니다 CSV 파일로 읽고 쓸 수있는 좋은 방법
  • 또한 내가 무작위로 (주문에 의해 않기 위해) should be extracted from here 내가 만 추출 할 필요가 주어진 링크에서 같은 주어진 (위 참조) (EicherStockDetails.csv) csv 파일
  • 에 추가 할 몇 가지 여분의 열을 필요로 처음부터 끝까지 열 몇 개와 끝나는 것에서 끝내기 (랜덤

    지난 3 일간 나는이 일을 해왔습니다. 제발 저를 도우려고 제발 도와주세요.

제발 이걸 통해 배울 수있는 몇 가지 아이디어를주십시오. 미리 감사드립니다.

답변

관련 문제