资讯专栏INFORMATION COLUMN

利用python合并csv文件的方式实例

89542767 / 1004人阅读


  小编写这篇文章的主要目的,主要是给大家做一个解答,解答有几个方向,包括利用python合并csv文件的一些相关实例,下面就给大家做出一个解答。


  1.用concat方法合并csv


  将两个相同的csv文件进行数据合并,通过pandas的read_csv和to_csv来完成,即采用concat方法:


 #加载第三方库
  importpandasaspd
  importnumpyasnp
  #读取文件
  df1=pd.read_csv("文件-1.csv")
  df2=pd.read_csv("文件-2.csv")
  #合并
  df=pd.concat([df1,df2])
  df.drop_duplicates()#数据去重
  #保存合并后的文件
  df.to_csv('文件.csv',encoding='utf-8')
  也可以增加一列标签,以区别两个合并后的数据:
  #加载第三方库
  importpandasaspd
  importnumpyasnp
  #读取文件
  df1=pd.read_csv("文件-1.csv")
  df1["来自文件"]="文件-1"
  df2=pd.read_csv("文件-2.csv")
  df2["来自文件"]="文件-2"
  #合并
  df=pd.concat([df1,df2])
  df.drop_duplicates()#数据去重
  #保存合并后的文件
  df.to_csv('文件.csv',encoding='utf-8')


  2.glob模块批量合并csv


  在运用合在一起少许文档时,可以用里面的concat方法。如果遇到很多的相同文档必须合在一起,这个时候应当做好快速复制粘贴,这样可以提高工作效率,提升实际操作高效率。


  运用Python快速复制粘贴csv,这儿讲解应用的办法是引进glob模块。


  glob模块是最简单控制模块其一,具体内容少,它能够搜索合乎特殊规矩的文档路径名。


  根据glob方法赋值所有文件夹,获取数据并增加储存到文档中。


 importnumpyasnp
  importpandasaspd
  importglob
  importre
  csv_list=glob.glob('*.csv')
  print('共发现%s个CSV文件'%len(csv_list))
  print('正在处理............')
  foriincsv_list:
  fr=open(i,'r',encoding='utf-8').read()
  withopen('文件合集.csv','a',encoding='utf-8')asf:
  f.write(fr)
  print('合并完毕!')


  以上方法是合并csv文件,要合并excel文件同理。


  补充:Python处理(加载、合并)多个csv文件


  数据集介绍:本数据集是某化工系统的数据,一共有很多个月的,我这里就拿一个月的数据集,August_data(八月的数据集),一共有31个csv文件。


  方法一for循环遍历+os.listdir(directory_path)+[forfileintqdm]+os.path.join(path,file)


 importpandasaspd
  importnumpyasnp
  fromtqdmimporttqdm
  importos
  defget_data(path):
  df_list=[]
  forfileintqdm(os.listdir(path)):##进度条
  file_path=os.path.join(path,file)
  df=pd.read_csv(file_path)
  df_list.append(df)
  df=pd.concat(df_list)
  returndf
  cPath='.\August_data'
  #cPath='F:/BaiduNetdiskDownload/宁东电厂数据及分析要求/宁东脱销系统优化-上海交大/SCR数据-2020-1/8月数据'#F:/BaiduNetdiskDownload/宁东电厂数据及分析要求/宁东脱销系统优化-上海交大/SCR数据-2020-1/8月数据
  #uPath=str(cPath)#uPath=unicode(cPath,'utf-8')
  #dirs=os.listdir(TEST_PATH)
  #print(dirs)
  test_df=get_data(cPath)
  print(test_df.head())
  #test_df.to_csv(path_or_buf="test.csv",index=False)#保存为CSV文件


  方法二glob方法


 #!/usr/bin/envpython
  #coding=utf-8
  importglob
  importtime
  importcsv
  importpandasaspd
  fromtqdmimporttqdm
  #anewfile
  #openalltheCSVfile
  #遍历文件夹下所有csv文件
  TEST_PATH='.\August_data'
  csv_list=glob.glob(f'{TEST_PATH}\*.csv')
  print('共有%s个CSV文件'%len(csv_list))
  #print(csv_list)
  defget_data():
  df_list=[]
  forcsv_fileincsv_list:
  df=pd.read_csv(csv_file)
  df_list.append(df)
  df=pd.concat(df_list)
  print("LoadingOer")
  returndf
  get_data()


  小编就为大家介绍到这里了,希望能给各位读者带来帮助。


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127843.html

相关文章

  • Python3网络爬虫实战---31、数据存储:文件存储

    摘要:如果该文件已存在,文件指针将会放在文件的结尾。运行结果以上是读取文件的方法。为了输出中文,我们还需要指定一个参数为,另外规定文件输出的编码。 上一篇文章:Python3网络爬虫实战---30、解析库的使用:PyQuery下一篇文章:Python3网络爬虫实战---32、数据存储:关系型数据库存储:MySQL 我们用解析器解析出数据之后,接下来的一步就是对数据进行存储了,保存的形式可以...

    dreamans 评论0 收藏0
  • 聊聊 Jmeter 如何并发执行 Python 脚本

    摘要:前言大家好,我是测试君最近有小伙伴后台给我留言,说自己用写了一个大文件上传的接口,现在想本地检验一下接口并发的稳定性,问我有没有好的方案本篇文章以文件上传为例,聊聊并发执行脚本的完整流程实现文件上传大文件上传包含个步骤, ...

    王岩威 评论0 收藏0
  • 另类爬虫:从PDF文件中爬取表格数据

    摘要:本文将展示如何利用的模块从文件中爬取表格数据。但如何从文件中提取其中的表格,这却是一个大难题。我们以输出文件为例从文件中提取表格将表格数据转化为文件得到的文件如下例在例中,我们将提取页面中的某一区域的表格的数据。 简介   本文将展示一个稍微不一样点的爬虫。  以往我们的爬虫都是从网络上爬取数据,因为网页一般用HTML,CSS,JavaScript代码写成,因此,有大量成熟的技术来爬取...

    Anchorer 评论0 收藏0
  • 针对Python初学者,这13个好用到起飞小技巧!

    摘要:如果你也是学习爱好者,今天讲述的个小技巧,真挺香欢迎收藏学习,喜欢点赞支持。因此,键将成为值,而值将成为键。幸运的是,这可以通过一行代码快速完成。因此,我们的代码不会因错误而终止。 ...

    张宪坤 评论0 收藏0
  • 十三个好用到起飞Python技巧!

    摘要:因其在各个领域的实用性与和等其他编程语言相比的生产力以及与英语类似的命令而广受欢迎。反转字典一个非常常见的字典任务是如果我们有一个字典并且想要反转它的键和值。   ...

    ruicbAndroid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<