2021-08-24

这篇博客介绍了如何使用Python的Pandas库将多个CSV文件拼接成一个文件,并进行了数据清洗,包括去除重复行和删除含有特定值(0)的行。首先,通过os模块改变工作目录并读取所有CSV文件,然后利用Pandas的read_csv和to_csv方法进行文件合并。接着,使用drop_duplicates方法删除重复行,最后通过布尔索引过滤掉包含数值0的行。
摘要由CSDN通过智能技术生成

标题python 数据处理笔记

使用Pandas拼接多个CSV文件到一个文件(即合并)

import pandas as pd
import os
Folder_Path = r'./cepri_historic_2019010112_2020123112_JSFD001_JSFD001'          #要拼接的文件夹及其完整路径,注意不要包含中文
SaveFile_Path =  r'C:\Users\Desktop'       #拼接后要保存的文件路径
SaveFile_Name = r'all.csv'              #合并后要保存的文件名

#修改当前工作目录
os.chdir(Folder_Path)
#将该文件夹下的所有文件名存入一个列表
file_list = os.listdir()
 
#读取第一个CSV文件并包含表头
df = pd.read_csv(file_list[0],nrows=96)   #编码默认UTF-8,若乱码自行更改  读取前96行
 
#将读取的第一个CSV文件写入合并后的文件保存
df.to_csv(SaveFile_Path+'\\'+ SaveFile_Name,encoding="utf_8_sig",index=False)
 
#循环遍历列表中各个CSV文件名,并追加到合并后的文件
for i in range(1,len(file_list)):
    df = pd.read_csv(file_list[i],nrows=96)
    df.to_csv(SaveFile_Path+'\\'+ SaveFile_Name,encoding="utf_8_sig",index=False, header=False, mode='a+')

cvs文件中以空格作为分割

dataset = pd.read_csv("C:/Users/Desktop/all.csv", sep='\\s+')

csv去除重复行

df = data.drop_duplicates(subset=['dd.mm.yyyy.1'], keep='first', inplace=False)

删除所有包含数值"0“的行

# 删除所有包含数值"0“的行(实际上是用"~"取反得到所有不包含“2的行)  
dataset = data[~(data['10米高度处风速(m/s)'].isin([0]) | data['10米高度处风向(°)'].isin([0])
       | data['30米高度处风速(m/s)'].isin([0])| data['30米高度处风向(°)'].isin([0])
       | data['50米高度处风速(m/s)'].isin([0])| data['50米高度处风向(°)'].isin([0])
       | data['70米高度处风速(m/s)'].isin([0])| data['70米高度处风向(°)'].isin([0])
       | data['风机轮毂高度处风速(m/s)'].isin([0])| data['风机轮毂高度处风向(°)'].isin([0])
       | data['气温(°C)'].isin([0])| data['气压(hpa)'].isin([0])| data['相对湿度(%)'].isin([0]))]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值