广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现本地csv文件合并
  • 381
分享到

Python实现本地csv文件合并

2024-04-02 19:04:59 381人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、单文件之间合并二、单个文件夹底下多个文件合并三、多个文件夹底下多个文件合并四、多文件夹[函数递归]总结本篇的文件合并主要是针对.csv的文件合并。 一、单文件之间合并 首先

本篇的文件合并主要是针对.csv的文件合并。

# 三、多个文件夹底下多个文件合并

一、单文件之间合并

首先,要查询目录底下的文件要导入OS。并且我们要将.csv文件以pandas的dataframe底下,因此要导入PANDAS,另外由于我们要遍历目录,因此导入 GLOB:

import os
import pandas as pd 
import glob

注:

import os的作用:在python环境下对文件,文件夹执行操作的一个模块。

os.name返回当前系统
os.getcwd()返回当前的路径
os.remove(路径)删除路径下的文件

import glob的作用: glob是Python自带的一个操作文件的相关模块,由于模块功能比较少,所以很容易掌握。用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到: “*”, “?”, “[]”这三个匹配符;

”*”匹配0个或多个字符;
”?”匹配单个字符;
”[]”匹配指定范围内的字符,如:[0-9]匹配数字。
f1=open('../input/covid19temp/2020/12-30-2020.csv').read()
f2=open('../input/covid19temp/2020/12-31-2020.csv').read()

with open('f1112.csv','a+') as f:
    f.write('\n'+f1)
    f.write('\n'+f2)

在这里插入图片描述

合并完成之后就会多出一个f1112.csv文件:

在这里插入图片描述

然而打开f1112.csv后发现合并后的文件有一些脏数据没有整理:

在这里插入图片描述

这时候我们试试skiprows:
在读取文件的时候设置skiprows参数的值,设置为1,会跳过一行,这里是要将第二个文件的索引属性给去掉,因为已经和第一个文件合并了,而第一个文件有索引属性了。

f1=pd.read_csv('../input/covid19temp/2020/12-30-2020.csv')
f2=pd.read_csv('../input/covid19temp/2020/12-31-2020.csv',skiprows=1)
f1112=f1.append(f2)
f1112.to_csv('f1112.csv') # 导出该文件

在这里插入图片描述

在本地目录中打开该文件:

在这里插入图片描述

在这里插入图片描述

二、单个文件夹底下多个文件合并

csv_list=glob.glob('../input/covid19temp/2020/*.csv') 
# 如果不加上*的话拿到的就是目录的名称,如果加上*,拿到的就是完整的目录数据
print(csv_list)

在这里插入图片描述

for i in csv_list:  
    fr=open(i,'r').read()
    with open('2020csvdata.csv','a') as f:
        f.write(fr)
    f.close()
print('数据文件合并完成!')

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

csv_list=glob.glob('../input/covid19temp/2020/*')
for i in csv_list:
    fr=open(i,'rb').read()
    with open('2020csvdata2.csv','ab') as f:
        f.write(fr)
    f.close()
print('数据文件合并完成!')

在这里插入图片描述

csv_list=glob.glob('../input/covid19temp/2020/*')
csvdatadf=pd.DataFrame()
for i in csv_list:
    csvdata=pd.read_csv(i)
    csvdatadf=csvdatadf.append(csvdata)
print('数据文件合并完成!')

合并之后使用pd.read_csv读取文件数据,一共有20W+的疫情数据记录:

在这里插入图片描述

三、多个文件夹底下多个文件合并

import os
import pandas as pd 
import glob
import openpyxl
import numpy as np

path='../input/covid19temp' # 写的路径
csv_lists=[] # 该列表的作用

# 是否更新目录判断:
if os.path.isdir(path): #使用os.path.isdir判断path是否是路径
    if not path.endswith("/"):# 如果该路径的最后没有加上'/'的话,会帮忙加一个/
        path+="/"
        print(path)

在这里插入图片描述

如上图所示,路径后面多了一个 ‘/’,否则路径会找不到

文件操作:

os.listdir(): 列出路径下所有的文件

os.path.join(): 连接文件的作用

os.path.isdir(): 判断是否是文件夹

import os
import pandas as pd 
import glob
import openpyxl
import numpy as np

path='../input/covid19temp' # 写的路径
csv_lists=[] # 该列表的作用

# 是否更新目录判断:
if os.path.isdir(path): #使用os.path.isdir判断path是否是路径
    if not path.endswith("/"):# 如果该路径的最后没有加上'/'的话,会帮忙加一个/
        path+="/"
        print(path)
        for each in os.listdir(path):# os.listdir(): 列出路径下所有的文件
            print(each)

在这里插入图片描述

在这里插入图片描述

import os
import pandas as pd 
import glob
import openpyxl
import numpy as np

path='../input/covid19temp' # 写的路径
csv_lists=[] # 该列表的作用

# 是否更新目录判断:
if os.path.isdir(path): #使用os.path.isdir判断path是否是路径
    if not path.endswith("/"):# 如果该路径的最后没有加上'/'的话,会帮忙加一个/
        path+="/"
        print(path)
        for each in os.listdir(path):# os.listdir(): 列出路径下所有的文件
            print(each)
            sub_path=path+each
            path_list=[]
            if os.path.isdir(sub_path):
                path_list.append(sub_path)
                csv_lists.append(path_list) # 生成主目录下路径列表(非文件)
# 根据路径进行路径下文件列表的生成
csvlists=[]
for i in range(len(csv_lists)):
#    print(i)
    csvlists.append(glob.glob(csv_lists[i][0]+'/*.csv')) 
csvlists

# 获取每年的文件路径
csvfilelist=[]
for j in range(len(csvlists)):
    for k in csvlists[j]:
        csvfilelist.append(k)
csvfilelist

csvdatadf=pd.DataFrame()
for m in csvfilelist:
    filesize=os.path.getsize(m)
    if filesize>0:
        csvdata=pd.read_csv(m)
        csvdatadf=csvdatadf.append(csvdata)
    else:
        continue
    
print('数据合并完成')

四、多文件夹[函数递归]

import os 
import pandas as pd 
def mergeFiles(parent,path="",pathdeep=0):
    fileAbsPath=os.path.join(parent,path)
    if os.path.isdir(fileAbsPath)==True:
        if (pathdeep!=0 and('.ipynb_checkpoints' not in str(fileAbsPath))):
            print('=='+path)
        for filename2 in os.listdir(fileAbsPath):
            mergeFiles(fileAbsPath,filename2,pathdeep=pathdeep+1)
    else:
        print(path)
path=input("请输入需要的文件注主目录:")
mergeFiles(path)

在这里插入图片描述

总结

到此这篇关于Python实现本地csv文件合并的文章就介绍到这了,更多相关Python csv文件合并内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现本地csv文件合并

本文链接: https://www.lsjlt.com/news/139187.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现本地csv文件合并
    目录一、单文件之间合并二、单个文件夹底下多个文件合并三、多个文件夹底下多个文件合并四、多文件夹[函数递归]总结本篇的文件合并主要是针对.csv的文件合并。 一、单文件之间合并 首先...
    99+
    2022-11-13
  • python实现文本文件合并
    python合并文本文件示例代码。 python实现两个文本合并 employee文件中记录了工号和姓名 cat employee.txt: 100 Jason Smith 200 John Doe...
    99+
    2022-06-04
    文本 文件合并 python
  • 利用python合并csv文件的方式实例
    目录1.用concat方法合并csv2.glob模块批量合并csv补充:Python处理(加载、合并)多个csv文件总结1.用concat方法合并csv 将两个相同的csv文件进行数...
    99+
    2022-11-11
  • Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享
    一、前言 二、需求描述 三、开始动手动脑 3.1 安装相关第三方包 3.2 导入需要用到的第三方库 3.3 读取pdf文件,并识别内容 3.4 对识别的数据进行处理,写入csv文件 总结 1. 前言扫描件一直受大众青睐,任何纸质资料在扫描...
    99+
    2023-05-17
    Python csv 脚本
  • Python实现读取csv文件并进行排序
    目录前言一、案例描述二、代码讲解三、完整代码从本文开始,本系列将介绍python简单案例并进行代码展示,本文的案例是利用pandas库实现读取csv文件并按照列的从小到大进行排序。 ...
    99+
    2023-02-10
    Python读取csv文件 Python读取csv Python csv
  • Python实现PDF文字识别提取并写入CSV文件
    目录1.前言2.需求描述3.开始动手动脑3.1安装相关第三方包3.2导入需要用到的第三方库3.3读取pdf文件,并识别内容3.4对识别的数据进行处理,写入csv文件总结1. 前言 扫...
    99+
    2022-11-13
  • python实现自动化之文件合并
    假如公司需要统计每个员工的个人信息,制定好模板后,由员工填写,然后发送到综合部进行汇总,在这种情况下,如果公司有上百位员工的信息需要统计,且采用纯手工进行复制粘贴的方式进行汇总,则将是一项耗时费力易错的工作。本文主要...
    99+
    2022-06-02
    python 文件合并
  • Python怎么实现Excel文件的合并
    本文小编为大家详细介绍“Python怎么实现Excel文件的合并”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现Excel文件的合并”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、单目录下面...
    99+
    2023-06-29
  • php怎么配合本地文件实现队列
    要使用本地文件实现队列,可以使用PHP的文件操作函数来读取和写入文件。以下是一个简单的示例: class Queue { p...
    99+
    2023-10-22
    php
  • python 实现将字典写入csv文件
    shutdown={"yunfeiyang":{"username":"yunfeiyang","binding_house":{0:"1",1:"2"},"register_time":"2018-20"}}import csvcsvfi...
    99+
    2023-01-31
    字典 文件 python
  • 教你用Python代码实现合并excel文件
    目录一、安装模块二、XlsxWriter 示例三、合并Excel数据四、表头都一样的 excel五、表头都不一样的 excel六、合并后的结果一、安装模块 1、找到对应的模块 htt...
    99+
    2022-11-12
  • python的​PyPDF2实现pdf文件切割和合并
    今天想使用pdf的切分软件实现pdf文件的切分,但是软件需要会员???好吧,,,,又要会员,这么简单的功能能难倒咱们程序员吗。俗话说自给自足丰衣足食,决定使用python自己切分文件...
    99+
    2022-11-13
  • python实现搜索本地文件信息写入文件的方法
    本文实例讲述了python实现搜索本地文件信息写入文件的方法。分享给大家供大家参考,具体如下: 主要功能: 在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件,然后把搜索出来的信息...
    99+
    2022-06-04
    本地文件 文件 方法
  • python的​PyPDF2怎么实现pdf文件切割和合并
    这篇文章将为大家详细讲解有关python的PyPDF2怎么实现pdf文件切割和合并,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在百度了一番后,发现大多都是使用 Adobe Acrobat 软件进行剪裁,...
    99+
    2023-06-29
  • python用pd.read_csv()方法来读取csv文件的实现
    csv文件是一种用,和换行符区分数据记录和字段的一种文件结构,可以用excel表格编辑,也可以用记事本编辑,是一种类excel的数据存储文件,也可以看成是一种数据库。pandas提供...
    99+
    2022-11-11
  • shell脚本实现本地文件与服务器文件同步
    为何创建此脚本是因为方便项目的布署,不需要手动地去同步不同的项目,而只需要简单的执行shell脚本,输入项目名就能发布到服器上。 1、shell文件代码 #!/bin/sh read -t 30 -p ...
    99+
    2022-06-04
    脚本 本地文件 服务器
  • Java实现文件的分割与合并
    本文实例为大家分享了Java实现文件的分割与合并的具体代码,供大家参考,具体内容如下 一、文件分割实现思想 1、设置分割文件(块)的大小; 2、通过输入流获取源文件的大小; 3、...
    99+
    2022-11-12
  • Node.js实现JS文件合并小工具
    临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了。...
    99+
    2022-06-04
    小工具 文件合并 Node
  • php生成并下载word文件到本地实现方法详解
    目录安装phpword包准备一个word模板(docx格式)前端调用代码PHP处理代码one more thing安装phpword包 通过composer安装phpword包。因为...
    99+
    2022-11-13
  • python本地文件服务器实例教程
    前言: macOS自带的Apache可以提供通过http://localhost:8081访问本地文件服务,那么python有没有类似功能的库呢?下面来简单操作一下~ 新建一个用于共...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作