我有一个非常非结构化的文件夹,其中很多文件没有条目(只是行标题),但是里面没有数据。我知道我可以包含它们,并且它们不会改变任何内容,但是问题是,标题到处都不相同,因此每个文件都包含一些额外的手动工作。
直到现在,我现在如何使用以下代码加载特定文件夹中的所有文件:
import glob
path = r'C:/Users/...'
all_files = glob.glob(path+ "/*.csv")
li = []
for filename in all_files:
frame = pd.read_csv(filename, index_col=None, header=0, sep=';', encoding='utf-8', low_memory=False)
li.append(frame)
df = pd.concat(li, axis=0, ignore_index=True, sort=False)
如何跳过每个只有一行的文件?
答案 0 :(得分:1)
从以下位置修改此循环:
for filename in all_files:
frame = pd.read_csv(filename, index_col=None, header=0, sep=';', encoding='utf-8', low_memory=False)
li.append(frame)
收件人:
for filename in all_files:
frame = pd.read_csv(filename, index_col=None, header=0, sep=';', encoding='utf-8', low_memory=False)
if len(frame) > 1:
li.append(frame)
这就是if
语句的作用。