【发布时间】:2017-03-17 10:16:39
【问题描述】:
我有一个 CSV 数据文件目录,我在列表理解语句中使用 pandas.read_csv() 将所有这些文件加载到一行中。
import glob
import pandas as pd
file_list = glob.glob('../data/')
df_list = [pd.read_csv(f) for f in file_list]
df = pd.concat(df_list, ignore_index=True)
现在我想在每次加载数据文件时打印文件路径,但我找不到在列表理解中使用多个语句的方法。例如,[pd.read_csv(f); print(f) for f in file_list] 之类的内容将导致 SyntaxError。
我能得到的最接近的方法是让 print() 在 if 语句中返回 None,它在打印后就像 pass 一样工作。
df_list = [pd.read_csv(f) for f in file_list if print(f) is None]
有没有合适的方法来做到这一点?我喜欢列表推导的简洁性,但它似乎不允许多个语句。
【问题讨论】: