标题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]))]