思路:先用OS库获取指定文件夹下的所有CSV文件,再用Pandas循环读取后追加合并,代码如下:
import pand as as pd
importos
defmain():
path="D:/b/"
xlsx_names= [xforxinos.listdir(path) ifx.endswith(".csv")]
bb=path+'result.csv'
num=1
df=None
# 按EXCEL名循环
column_count0=0
forxlsx_nameinxlsx_names:
try:
_df=pd.read_csv(path+xlsx_name, encoding='gbk',low_memory=False)
except
_df=pd.read_csv(path+xlsx_name,encoding='utf-8, low_memory=False)
row_count, column_count=_df.shape
# _df = _df9.loc[4:, :] #从指定行开始输出
print(_df.shape)
ifnum==1:
col=_df.columns.values.tolist()
column_count0=column_count
else:
_df.columns=col
# 如果列数不一致,不合并
ifcolumn_count!=column_count0:
print("列数不等")
break
if df is None:
df=_df
else:
df=df._append(_df)
print(" 保存成功!共%d个,第%d个。"% (len(xlsx_names),num))
num+=1
df.to_csv(bb, encoding='gbk', index=False)
if__name__=='__main__':
main()