我有600个csv文件,我想使用pd.read.csv读取这些文件以分离数据帧。我已经尝试了下面的代码。
for stock in stock_list:
df_stock = pd.read_csv("D:/Stocks/CSV/" + stock + ".csv")我希望每个数据帧在stock_list中分别存储为df_the各自的股票名称(例如df_pfizer、df_ICBC等),但我的代码将其读取到单个数据帧中。股票名称在列表stock_list中。
发布于 2021-06-18 20:32:08
有600个变量是不容易处理的,你应该使用字典。
df_dict = {}
for stock in stock_list:
df_dict[stock] = pd.read_csv("D:/Stocks/CSV/" + stock + ".csv")..。或者:
df_dict = {stock: pd.read_csv("D:/Stocks/CSV/" + stock + ".csv") for stock in stock_list}发布于 2021-06-18 20:32:34
您可以将数据帧添加到python dict中
df_stocks = {}
for stock in stock_list:
df_stock = pd.read_csv("D:/Stocks/CSV/" + stock + ".csv")
df_stocks[stock] = df_stock并访问任何数据帧:
df_stocks['df_pfizer']将返回'df_pfizer'数据帧,
df_stocks['df_ICBC']将返回df_stocks['df_ICBC']数据帧,依此类推。
发布于 2021-06-18 20:31:47
您需要首先创建一个dataframe,然后使用字典comp根据股票名称将它们分开。
from pathlib import Path
import pandas as pd
dfs = pd.concat(
[pd.read_csv(f) for f in Path(r"D:/Stocks/CSV/").glob('*.csv')]
)
stock_dfs = {stock : frame for stock,frame in dfs.groupby('stock_list')}然后,您可以根据其键调用每个df
stock_dfs['df_pfizer']https://stackoverflow.com/questions/68035167
复制相似问题