【发布时间】:2021-10-07 06:12:54
【问题描述】:
以下是 Python 中的代码,它从 url 读取 CSV 并隔离“股票代码”,然后将其转换为列表。我是 R 的新手,我希望有一种简单、快速的方法可以将这个 Python 代码转换为 R,然后再深入了解自己。
# Read contents of csv link into string variable
cboe_csv_link = 'https://www.cboe.com/available_weeklys/get_csv_download/'
output = requests.get(cboe_csv_link).text
# Find number of rows before string
find_str = "Available Weeklys - Exchange Traded Products (ETFs and ETNs)"
# Find index of search string in output
idx = output.find(find_str)
# Count number of newlines until search string is encountered
skiprows_val = output[:idx+len(find_str)].count("\n")
# Filter out rows and columns to isolate ticker symbols
cboe_csv = pd.read_csv(cboe_csv_link, skiprows=skiprows_val, usecols=[0], header=None)
tickers_df = cboe_csv[(cboe_csv[0] != 'Available Weeklys - Exchange Traded Products (ETFs and ETNs)')
& (cboe_csv[0] != 'Available Weeklys - Equity')]
# Convert dataframe column to list
tickers = tickers_df[0].tolist()
【问题讨论】:
-
男孩。那是一种额外愚蠢的文件格式。我可能只是下载文件,然后使用 sed 或 awk 提取相关的三个块(每个块由其标题标识)并使用普通 csv 阅读器从 sed 或 awk 流中读取相应的块。