前言
大量csv中并非所有数据都可以为我所用,就需要选择其中的多行多列来简化数据
本次处理是针对多个csv,分别取每个文件的多列,再逐个保存到新的csv中
提示:以下是本篇文章正文内容,下面案例可供参考
一、直接上代码
代码如下
# !/user/bin/env python3
# -*- coding: utf-8 -*-
import os
import datetime
import pandas as pd
starttime = datetime.datetime.now()
if __name__ == '__main__':
filenames_in = 'E:\...\col_del' # 输入文件的文件地址
filenames_out = 'E:\...\col_take' # 新文件的地址
for files in os.walk(filenames_in):
file = files[2]
for i in range(len(file)):
name = file[i]
domain1 = os.path.abspath(filenames_in) # 待处理文件位置
info = os.path.join(domain1, name) # 拼接出待处理文件名字
print(info, "开始处理")
df = pd.DataFrame(pd.read_csv(info, header=None, names=[ '**', '**', '**', '**', '**', '**'])) # 读取原csv为dataframe,指定列名
df_col = df[['**', '**', '**', '**', '**', '**']] # 取需要的列,指出df中的列明即可
domain2 = os.path.abspath(filenames_out) # 处理完文件保存地址
outfo = os.path.join(domain2, name) # 拼接出新文件名字
df_col.to_csv(outfo, header=None, index=None, encoding='utf-8') # 保存取出的数据df_col为csv
print(info, "处理完")
endtime = datetime.datetime.now()
print(endtime - starttime)