当前位置:   article > 正文

【工程实践】python 合并多个csv文件_python合并多个csv文件

python合并多个csv文件

前言

        处理数据时,有多个csv文件需要合并。有两个方法可以实现,第一个是可以通过python提供的pandas模块,借助 pd.concat()实现多个csv文件的合并。第二个是通过linux命令实现。

1.pandas模块实现

1-1 获得全部csv文件路径

  1. import pandas as pd
  2. import os
  3. #遍历获得文件
  4. def FilesPath(path):
  5. '''
  6. path: 目录文件夹地址
  7. 返回值:列表,pdf文件全路径
  8. '''
  9. filePaths = [] # 存储目录下的所有文件名,含路径
  10. for root,dirs,files in os.walk(path):
  11. for file in files:
  12. filePaths.append(os.path.join(root,file))
  13. return filePaths
  14. #获得所以文件路径
  15. Total_file = FilesPath('/home/风机叶片开裂故障预警数据集/train')
'
运行

1-2  查看数据

df = pd.read_csv(Total_file[1],encoding='utf8')

1-3 合并数据

  1. data = pd.DataFrame()
  2. for file_path in (Total_file[1:10]):
  3. df = pd.read_csv(file_path,encoding='utf8')
  4. data = pd.concat([data,df])
  5. # 重新设置索引 从0开始
  6. data.reset_index(drop=True, inplace=True)
  7. #将合并的data存储
  8. data.to_csv(Total_data_save_path,index = False,encoding='utf8')

2. linux命令实现

2-1 合并数据

        将所有的csv文件合并,并命名为all.csv。

cat csvfile/*.csv > all.csv

2-2 去除标题

        使用cat命令对csv文件合并时,会将每个csv文件的标题一起添加到新文件中,所以需要对all.csv进行去重处理,将重复的标题删除。

data.drop_duplicates(subset=['A','B','C'],keep='first',inplace=True)

参数说明如下:
subset:去重的列名,默认为 None。
keep:有三个可选参数,分别是 first、last、False,默认为 first,表示只保留第一次出现的重复项,删除其余重复项,last 表示只保留最后一次出现的重复项,False 则表示删除所有重复项。
inplace:布尔值参数,默认为 False 表示删除重复项后返回一个副本,若为 Ture 则表示直接在原数据上删除重复项。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号