栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【python学习】-提取多份csv文件特定的列整合到新的csv工作表中

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【python学习】-提取多份csv文件特定的列整合到新的csv工作表中

提取多份csv文件特定的列整合到新的csv工作表中

在科研生活中,我们可能在数据测试中得到很多份csv数据,这些数据只有两列,我们在后续数据处理中可能想把这些数据放在origin中绘图,其中所有数据的x轴(即第一列数据)都相同,我们想将y轴都整合在新的文件里,保存一列x轴数据,这样方便origin作图。因此,这里记录如何通过python代码快速实现整合。

该问题用代码进行处理的思路是这样:

  1. 首先需要知道这些文件所处的路径位置
  2. 接着逐次读取每份文件,并提取某列数据
  3. 建立空列表,将提取出来的数据写入新的工作表中
#!/usr/bin/env python
# coding: utf-8

# In[1]:


import os
import csv
import pandas as pd
def all_csv(file_PATH = r'D:desk\test\',save_file="数据整合.csv"):
‘’‘
该函数实现了提取多份csv文件的某列数据到新的工作表中,具体步骤为:
建立新列表,用于暂时存储提取出来的数据;
获取需要整合文件所在的文件夹位置;
使用for循环遍历文件夹的文件,逐份读取文件;
接着由于想要保留一个x轴的数据,这里使用条件语句,提取第一份文件的x与y轴数据,其他文件仅提取第二列数据,即y轴数据;
将提取的数据逐个加到所建立的空列表中;
使用concat函数将列表元素按列整合;
将整合好的数据写入新的工作表;
完成!
’‘’
    df_list = [] #创建新列表用来存储提取出来的列表
    tqdm=os.listdir(file_PATH)#文件夹中的文件列表
    for i in range(0,len(tqdm)):#逐次遍历文件夹下的文件
        files_path = os.path.join(file_PATH+tqdm[i])#对应文件夹下的某份文件
        df = pd.read_csv(files_path)##读取CSV文件数据
        #这里实现提取第一份数据的x与y轴数据,其他文件只提取y轴数据
        if i ==0:
            data = df.iloc[:,:]#选取文件中某行某列数据
        else:
            data = df.iloc[:,1]
        df_list.append(data)#将选取的数据添加到列表
    df2 = pd.concat(df_list,axis=1)#将列表数据按列合并,axis=1表示按列整合
    save_path=os.path.join(file_PATH,save_file)#定义保存存放整合后数据的路径
    df2.to_csv(save_path,index=False)#将整合好的数据输入到新建的csv文件中



if __name__ == "__main__":
    all_csv(file_PATH = r'D:desk\test\',save_file="数据整合.csv")

【注意】该份代码仅适合用于整合csv文件,不适合用于xlsx文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/834781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号