Python 是否可以使用生成器/理解生成包含关键点的对象
我经常遇到这样的情况,我想使用某种形式的列表理解,我相信使用Python 是否可以使用生成器/理解生成包含关键点的对象,python,pandas,Python,Pandas,我经常遇到这样的情况,我想使用某种形式的列表理解,我相信使用 import pandas as pd import os data = {} for f in os.listdir('schools/'): data[f.replace('.csv','')] = pd.read_csv('schools/'+f) 但是,我不知道怎么把钥匙放进去?有可能以这种方式生成对象吗 你想要一本字典吗 变成: for f in os.listdir('schools/'): data[
import pandas as pd
import os
data = {}
for f in os.listdir('schools/'):
data[f.replace('.csv','')] = pd.read_csv('schools/'+f)
但是,我不知道怎么把钥匙放进去?有可能以这种方式生成对象吗 你想要一本字典吗
变成:
for f in os.listdir('schools/'):
data[f.replace('.csv','')] = pd.read_csv('schools/'+f)
使用glob.glob
可能会更安全、更可读,这样您就可以过滤掉非csv文件,而不必加入
:
data = {f.replace('.csv',''):pd.read_csv(os.path.join('schools',f)) for f in os.listdir('schools')}
稍微扩展,将其转换为数据帧(假设每个csv只有一列): 你想要一本字典吗 变成:
for f in os.listdir('schools/'):
data[f.replace('.csv','')] = pd.read_csv('schools/'+f)
使用glob.glob
可能会更安全、更可读,这样您就可以过滤掉非csv文件,而不必加入
:
data = {f.replace('.csv',''):pd.read_csv(os.path.join('schools',f)) for f in os.listdir('schools')}
稍微扩展,将其转换为数据帧(假设每个csv只有一列):
是的,有一本字典。拿着电话。你的最终目标是什么?要连接所有列吗?是的,用字典理解。拿着电话。你的最终目标是什么?要连接所有列?如果这要成为pd数据帧,您需要对其进行一点扩展:
pd.DataFrame({f.replace('.csv',''):pd.read_csv(os.path.join('schools',f)).values.reshave(-1,)for f in os.listdir('schools')}
。。。电子战。。。看起来很丑……是的打字错误是我的祸根。请随意编辑我的帖子来添加这些信息,我根本不是熊猫专家。我一直在尝试{f.replace('.csv','')=pd.read_csv(f)for f in glob.glob(os.path.join('schools',“*.csv”)}哈哈,这是荷马·辛普森(homer simpson)的一个绝妙时刻。如果这要成为一个pd数据框架,您需要对其进行一些扩展:pd.DataFrame({f.replace('.csv','')):pd.read_csv(os.path.join('schools',f)).values.reshave(-1,)for f in os.listdir('schools')}
。。。电子战。。。看起来很丑……是的打字错误是我的祸根。请随意编辑我的帖子来添加这些信息,我根本不是熊猫专家。我一直在尝试{f.replace('.csv','')=pd.read_csv(f)for f in glob.glob(os.path.join('schools',“*.csv”)}哈哈,这是荷马·辛普森的绝招之一。
pd.DataFrame({f.replace('.csv','') : pd.read_csv(os.path.join('schools',f)).values.reshape(-1, ) for f in os.listdir('schools')})