合并csv, xlsx文件方法
以下代码,有两种方式合并文件,append跟concat,效率基本一致,根据自己的实际情况使用。
# 合并excel或者csv文件,按照行进行合并,列数不变,行数增加
def combine_files(file_path: str):
file_lst = [x for x in os.listdir(file_path) if x.endswith((r'.csv', r'.xlsx', r'xls'))] # 获取目录下文件名
print(file_lst)
files_absolute_path = [os.path.join(file_path, x) for x in file_lst] # 每个文件的绝对路径
df = pd.DataFrame()
for x in files_absolute_path:
tmp =pd.read_csv(x).iloc[:, 1:].dropna(axis=1, how='all') # 过滤,根据情况自己写逻辑
df = df.append(tmp, ignore_index=True) # 合并文件
# df = pd.concat([df, tmp], axis=0, ignore_index=True) # 第二种方式合并文件
print(df)
if __name__ == '__main__':
file_path = r'xxx_path'
combine_files(file_path)
其他合并方式参考:
https://www.jb51.net/article/188632.htm
?
|