Search code examples
pythondataframefinance

Scanning Finviz Stocks


Hello here is a screener tool for Finviz but my stock_list result returns object of type Screener I am trying to put that into a data frame but I am having issues as the data is one long string divided by pipes. I tried to use str but method does not exists in the screener class. I am new to python this looks easy but I just dont know the proper syntax here can anyone help. Thank you!

import pandas as pd
import nest_asyncio
from finviz.screener import Screener
import csv
import sys 
from datetime import datetime

nest_asyncio.apply()
filters = ['idx_sp500']  # Shows companies in NASDAQ which are in the S&P500
stock_list = Screener(filters=filters, order='price')

Solution

  • You could output the data to a csv file and read the file using pandas:

    stock_list = Screener(filters=filters, order='price')
    stock_list.to_csv(filename="stocks.csv")
    df = pd.read_csv("stocks.csv")