pandas读取仅含ticker列的csv文件循环遍历仅输出列名如何修复
问题原因
直接对pandas的DataFrame对象执行for循环遍历,默认遍历的是DataFrame的列名,所以你的代码只会输出唯一的列名TICKER。
注意:如果你的csv文件实际列名是示例里拼写的
TIKCER,请把后续代码里的列名字段替换为实际列名即可。
修复方案
你只需要调整遍历的对象为TICKER列的所有值即可,有几种常用写法可选:
写法1:直接遍历单列值(最简便)
import pandas as pd list_ticker = pd.read_csv(r'C:\INV2021 data\sp500 constituent.csv') # 打印读取的完整表确认内容 print(list_ticker) # 遍历TICKER列的每一个值 for ticker in list_ticker['TICKER']: print(ticker)
写法2:先转成列表再遍历
如果后续需要对股票代码列表做其他处理,可以先把列转成Python原生列表再遍历:
import pandas as pd list_ticker = pd.read_csv(r'C:\INV2021 data\sp500 constituent.csv') ticker_list = list_ticker['TICKER'].to_list() for ticker in ticker_list: print(ticker)
补充写法:同时获取行索引和代码值
如果需要对应行号信息,可以用iterrows()方法遍历:
for index, row in list_ticker.iterrows(): print(f"第{index}行的股票代码:{row['TICKER']}")
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

