首页 > 解决方案 > 如何在 python 中简单地使用 for

问题描述

这是我的代码的一部分。

描述:我读取了 8 个 csv 文件,名称从 11DD.csv 到 18DD.csv。并且使用 DATAFRAME,我将列命名为“Day”、“Hour”和“TEM”。然后,我只需要“TEM”列。这就是为什么我这样制作这段代码的原因。

但是,我认为这可以很简单地使用 for sentence...帮助...

TEM1= pd.read_csv('DATA/11DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM2= pd.read_csv('DATA/12DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM3= pd.read_csv('DATA/13DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM4= pd.read_csv('DATA/14DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM5= pd.read_csv('DATA/15DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM6= pd.read_csv('DATA/16DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM7= pd.read_csv('DATA/17DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])
TEM8= pd.read_csv('DATA/18DD.csv', names = ['Day','Hour','TEM'], skiprows=[0])


T1= [TEM1['TEM']]
T2= [TEM2['TEM']]
T3= [TEM3['TEM']]
T4= [TEM4['TEM']]
T5= [TEM5['TEM']]
T6= [TEM6['TEM']]
T7= [TEM7['TEM']]
T8= [TEM8['TEM']]

X= [T1,T2,T3,T4,T5,T6,T7,T8]
sns.boxplot(data=X, linewidth =3, notch= False, palette="Blues", width= 0.2)

这就是我之前尝试过的

all_data = pd.DataFrame()
Year_data= []
for f in sorted(glob.glob(input_path)) :
     df = pd.read_csv(f, names = ['Day','Hour','TEM'], skiprows=[0])
     all_data = all_data([df])

标签: pythonfor-loop

解决方案


您可以通过使用 for 循环来简化这一点,如下所示。想法是循环从 11 到 18 的文件编号,并使用它们在 for 循环中读取文件,%str(t)动态使用 where%s将替换为 11、12、13 等,从而每次加载不同的文件。

for t in range(11, 19):
    TEM = pd.read_csv('DATA/%sDD.csv' %str(t), names = ['Day','Hour','TEM'], skiprows=[0])
    T = [TEM['TEM']]
    # Do processing with T

编辑:要在 for 循环之外访问 T,您可以将它们存储在某个列表中,然后循环它们以进行后处理。

T_list = []
for t in range(11, 19):
    TEM = pd.read_csv('DATA/%sDD.csv' %str(t), names = ['Day','Hour','TEM'], skiprows=[0])
    T = [TEM['TEM']]
    T_list.append(T)


# Outside for loop (using your example code)

sns.boxplot(data=T_list, linewidth =3, notch= False, palette="Blues", width= 0.2)

# Or if you want to do something with T1, T2, T3 and so on individually

for T in T_list:
    # Do something with T

推荐阅读