python数据预处理–excel文件批量读取、筛选、生成tsv格式数据

python数据预处理–excel文件批量读取、筛选、生成tsv格式数据,第1张


前言

各个领域都需要批量处理一些数据文件(如:.xls、.xlsx等),并且需要进行一些筛选 *** 作才能得到目标数据(想要的数据),另外还有些生成其他数据格式的需求。针对这一系列的 *** 作本文就记录一下我的过程。

注:环境是Anaconda 的 Spyder(Python3.8)

提示:以下是本篇文章正文内容,下面案例可供参考

一、批量读取excel文件

找到目标文件夹,批量读取文件夹中.xlsx格式的文件。注:文件夹目录是path,该文件夹下保存着需要读取的所有.xlsx文件。
代码如下

import pandas as pd
import os

path = "C:/Users/HUAWEI/Desktop/2022.5.11/Part1-点读" #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称
data = []#读取数据存放的变量

#遍历文件夹
for file in files: 
    #读取目标路径的文件
    data = pd.read_excel(path+"/"+file)#此时获得的data 是dataframe结构,即键对应的属性结构
二、筛选数据

思路:
1、读取的数据data为dataframe,可以运用.loc()筛选符合要求的某几列(参考:链接: https://blog.csdn.net/weixin_45082522/article/details/106364847)
代码如下:

#将data中列名'Category'的值等于'Fixation'的行筛选出来,并将列名为'X','Y','Event'的三列筛选出来存到p
p = data.loc[data['Category'] == 'Fixation',['X','Y','Event']]

2、列名更改(看需求)

#列名为'X','Y','Event'更改为'start_x','start_y','duration'
p.rename(columns={'X':'start_x','Y':'start_y','Event':'duration'},inplace=True)    
三、另存数据

将筛选完成的数据批量生成tsv格式存储,也可以是csv格式,参数稍作改变即可(后缀变为.csv,“\t"变为”,")。
注:没有指定路径,会跟.py文件生成在同一文件夹中,可自行指定路径

portion = os.path.splitext(file)#portion为名称和后缀分离后的列表
p.to_csv(portion[0]+'.tsv',sep="\t", index=False)#批量生成对原来读取的.xlsx的文件名+'.tsv'格式

代码汇总
import pandas as pd
import os

path = "C:/Users/HUAWEI/Desktop/2022.5.11/Part1-点读" #文件夹目录
files= os.listdir(path) #得到文件夹下的所有文件名称
data = []

for file in files: 
    #遍历文件夹
    data = pd.read_excel(path+"/"+file)#打开文件读取目标路径的文件        
    p = data.loc[data['Category'] == 'Fixation',['X','Y','Event']]
    p.rename(columns={'X':'start_x','Y':'start_y','Event':'duration'},inplace=True)            
    portion = os.path.splitext(file)#portion为名称和后缀分离后的列表
    #生成.tsv格式文件
    p.to_csv(portion[0]+'.tsv',sep="\t", index=False)   

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/917115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存