精华内容
下载资源
问答
  • 2021-02-10 13:22:14

    #encoding: utf-8

    __author__ = 'DELL'

    import csv

    import glob

    import datetime

    import sys

    import os

    reload(sys)

    #中文错误

    sys.setdefaultencoding( "utf-8" )

    '''

    @author likehua

    CSV批处理

    '''

    class BatchProcessCSV:

    def __init__(self,inputfolder="c:\\input\\",outputfolder="c:\\output\\"):

    self.inputfolder=inputfolder

    self.outputfolder=outputfolder

    #批处理

    def doBatchAction(self):

    startTime=datetime.datetime.now()

    print(u"开始处理...")

    if (os.path.exists(self.outputfolder)==False):

    #pass

    os.makedirs(self.outputfolder)

    list_dirs = os.walk(self.inputfolder)

    for root, dirs, files in list_dirs:

    #print i

    for file in files:

    otput=self.outputfolder+file

    self.readcsv2csv(self.inputfolder+file,otput)

    print(u"Running.........................\n")

    endTime=datetime.datetime.now()

    print(u"处理完成,耗时:%f秒"%(endTime-startTime).seconds)

    #读取一个csv提取部分信息生成新的CSV

    def readcsv2csv(self,inputfile,outputfile):

    with open(inputfile, 'rb') as csvfile:

    o=open(outputfile,"wb")

    #解决csv浏览乱码问题

    o.write('\xEF\xBB\xBF');

    writer=csv.writer(o)

    #读取列 将字符串转为数组

    column=csvfile.readline().split(",")

    #print(column.index('App Release Date'))

    #print(column)

    writer.writerow(['Rank' ,'Category', 'Country ','App Name', 'Value', 'Unit' , 'App Release Date', 'Publisher Name', 'Company Name', 'Parent Company Name'])

    reader = csv.reader(csvfile)

    #table = reader[0]

    #Rank, Category, Store, Device, Type, Country, Period,Version, App_ID, App_Name, Value, Unit, Value_Type, AppURL, App_IAP, App_Category, App_Device, Current_Price, App_Release_Date, Publisher_ID, Publisher_Name, CompanyName, ParentCompanyName, AppNameUnified, AppFranchise, UnifiedAppID, AppFranchiseID, CompanyID, ParentCompanyID

    for row in reader:

    lenth=len(row)

    if lenth>10:

    writer.writerow([row[column.index("Rank")],row[column.index("Category")],row[column.index("Country")],row[column.index("App Name")],row[column.index("Value")],row[column.index("Unit")],row[column.index("App Release Date")],row[column.index("Publisher Name")],row[column.index("Company Name")],row[column.index("Parent Company Name")]])

    #process

    if __name__=="__main__":

    csvProcess=BatchProcessCSV("c:\\input\\","e:\\output\\")

    csvProcess.doBatchAction()

    更多相关内容
  • Python批量处理csv文件(筛选列)

    千次阅读 2020-12-09 16:59:27
    Python批量处理csv文件前言代码总结 前言 批量读取同一文件夹下的csv文件,进行数据处理(这里是挑选需要的列向量,生成新文件),保存到新文件夹(csv文件同名) 代码 #!/user/bin/env python3 # -*- coding: utf-...

    Python批量处理csv文件

    前言

    批量读取同一文件夹下的csv文件,进行数据处理
    (这里是挑选需要的列向量,生成新文件),
    保存到新文件夹(csv文件同名)


    代码

    #!/user/bin/env python3
    # -*- coding: utf-8 -*-
    import os
    import re
    import datetime
    import numpy as np
    import pandas as pd
    
    starttime = datetime.datetime.now()	# 运行时间统计
    
    if __name__ == '__main__':
        filenames_in = 'E:\program\MATLAB\project\data\day1\data'  # 输入文件的文件地址
        filenames_out = 'E:\program\MATLAB\project\data\day1\data_done2'  # 新文件的地址
        pathDir = os.listdir(filenames_in)
        for allDir in pathDir:
            child = re.findall(r"(.+?).csv", allDir)  # 正则的方式读取文件名,去扩展名
            if len(child) >= 0:  # 去掉没用的系统文件
                newfile = ''
                needdate = child  #### 这个就是所要的文件名
            domain1 = os.path.abspath(filenames_in)  # 待处理文件位置
            info = os.path.join(domain1, allDir)  # 拼接出待处理文件名字
    
            # ------------数据处理过程---------------
            print(info, "开始处理")
            # df = pd.DataFrame(pd.read_csv(info, index_col=0))   # 读取文件数据,以第一列为索引
            # df = df.iloc[:, :-1]    # 删除最后一列数据
            df = pd.DataFrame(pd.read_csv(info, index_col=0, usecols=[0, 1, 3, 4, 5, 6, 7, 8, 10]))  # 选取固定列的值生成新表
            # print(df)
            domain2 = os.path.abspath(filenames_out)  # 处理完文件保存地址
            outfo = os.path.join(domain2, allDir)  # 拼接出新文件名字
            df.to_csv(outfo, encoding='utf-8')
            print(info, "处理完")
    
    endtime = datetime.datetime.now()
    print(endtime - starttime)
    
    

    总结

    第一次写博客,也是浏览了太多的网页终没有什么效果,就记录下来供自己和大家后续使用。有什么想法大家可以相互学习交流。

    文件处理很简单,主要就是记录批量读取和保存文件。

    代码参考:

    链接: https://www.zhangshengrong.com/p/Wx1JVWgp1o/

    展开全文
  • 本资源实现了用VBA(宏)代价遍历文件夹中的csv文件,修改代码也可遍历其他格式的excel文件,并实现了将遍历的结果整合到一个新的excel文件中。
  • I need to edit several csv files. Actually, most of the files are fine as they are, it's just the last (41st) column that needs to be changed. For every occurrence of a particular string in that colum...

    1586010002-jmsa.png

    I need to edit several csv files. Actually, most of the files are fine as they are, it's just the last (41st) column that needs to be changed. For every occurrence of a particular string in that column, I need it to be replaced by a different string; specifically, every occurrence of 'S-D' needs to be replaced by 'S'. I've tried to accomplish this using Python, but I think I need to write the csv files and I'm not quite sure how to do this:

    import os

    import csv

    path=os.getcwd()

    filenames = os.listdir(path)

    for filename in filenames:

    if filename.endswith('.csv'):

    r=csv.reader(open(filename))

    for row in r:

    if row[40] == "S-D":

    row[40] = "S"

    Any help? Also, if anyone has a quick , elegant way of doing this with a shell script, that would probably be very helpful to me as well.

    解决方案

    Be sure to read up on the Python documentation for the CSV File Reading and Writing. Lots to learn there. Here is a basic example based on your question. Only modifying the data in the last column, writing out a modified file with "_edited" in the name.

    import os

    import csv

    path=os.getcwd()

    filenames = os.listdir(path)

    for filename in filenames:

    if filename.endswith('.csv'):

    r=csv.reader(open(filename))

    new_data = []

    for row in r:

    row[-1] = row[-1].replace("S-D", "S")

    new_data.append(row)

    newfilename = "".join(filename.split(".csv")) + "_edited.csv"

    with open(newfilename, "w") as f:

    writer = csv.writer(f)

    writer.writerows(new_data)

    展开全文
  • 实习任务一:批量处理csv文件并生成相应的图表 上周收到了一个任务,经过一两天的研究,然后又经过导师的巨大帮助,终于完美完成了任务! 下面是相应的代码 from matplotlib import pyplot as plt import csv import...

    实习任务一:批量处理csv文件并生成相应的图表

    上周收到了一个任务,经过一两天的研究,然后又经过导师的巨大帮助,终于完美完成了任务!

    下面是相应的代码

    from matplotlib import pyplot as plt
    import csv
    import glob
    from os.path import basename
    
    
    fig=plt.figure(dpi = 128, figsize=(10,6))                           # plot object
    plt.title("PIDrecovery_I-V_Kennlinie",fontsize = 16)
    plt.xlabel("Spannnung [V]", fontsize = 16)
    plt.ylabel("Strom [A]", fontsize = 16)
    
    files = sorted(glob.glob("F:\Python\Python_Aufgabe\Aufgabe_1_24_11_2019\DIV_CSP_PIDre_MZ_2_P*.csv"))    #list of files
    print("processin raw files")
    for file in files:
        filename = basename(file).rsplit('.', 1)[0]                                                         # each file in list of files
        print('\r'+ filename + "  ", flush = True)                                                              # progress information
        with open(file) as f:                                                                                #'with' will auto close after loop
            csvreader = csv.reader(f, delimiter = ",", quotechar='"')                                       #read into csv object
    
            for line in range(48):
                next (csvreader)                                                                            #skip header
    
            voltage = []                                                                                    #init lists在这里插入图片描述
            current = []
            for row in csvreader:
                voltage.append(float(row[6]))                                                               #process each row
                current.append(float(row[3]))                                                               #extract column
    
            plt.plot(voltage, current, '-', label=filename)                                                 #actual plot
            plt.legend()                                                                                    #legend
        
    print("Done processing " + str(len(files)) + " files.")                                                 #final information
    plt.show()                                                                                              #present plot
    plt.savefig('DIV.all' + '.png', dpi = 300)                                                              #save plot as file
                                                                                                            # close plot and proceed
    

    在这里插入图片描述

    哈哈,看起来还不错吧。 若有问题请指教。

    展开全文
  • 有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模数据,得到的结果就是boom,boom,boom。...
  • 引言:以前写的一个批量xls转csv的python简单脚本,用的是...#生成的csv文件存放路径 OUTPATH = uD:\\lsssl\桌面\\csv class changeCenter: def __init__(self): pass def getvalue(self,filename): self.mData
  • 数据处理:用python批量改写csv文件内容 最近项目遇到一系列批量操作的问题,由于数据量巨大,如果人工操作的话会耽误很多时间,所以写了一个脚本可以批量操作数据。 具体问题描述 有一个图片路径和标签的csv文件,...
  • 批量处理CSV文件

    千次阅读 2018-06-24 19:02:04
    有必要介绍两个个棒棒的库1)glob #用于查找符合规定的文件路径(如果你os 模块用的6,用哪个也挺好的)def get_all_content(): ... return all_files这样就搜索到了文件夹中所有的CSV文件2)re #用于匹配not...
  • 类似示波器、矢量网络分析仪等设备,在测量数据时,有时需要对同一个信号测多组数据,一般会将原始波形数据保存为.csv文件格式,随后根据不同的实验需求对原始数据进行处理。 现用矢量网络分析仪测某个器件的最小...
  • python批量读取csv文件

    千次阅读 2021-03-17 03:24:47
    如何用python把多个csv文件数据处理后汇总到新csv文件python对多个csv文件里提取指定列汇总到一个新生成python对多个csv 文件(位于不同目录)提取指定列(例如第二列)的内容csv 是可以直接当文本直接读的,他的格式是一...
  • 最近工作需要处理大量csv文件转换成.xlsx进行数据处理,手动转换效率低,于是上网查了很多批量转csv教程,可惜的是所有教程几乎都是默认csv分隔符为逗号,很不幸的是我的csv文件是分号 “;” 作为分隔符,查了半天...
  • 主要为大家详细介绍了python批量查询、汉字去重处理CSV文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 解决思路:先读取需处理的csv文件名,去除文件夹下的无用文件,得到待处理文件地址名称和新文件保存的地址名称,分别读取每一个csv文件进行处理后写入新的文件。if __name__ == '__main__':filenames_in = '../...
  • Python批量读取csv文件并合并文件

    万次阅读 多人点赞 2018-11-15 10:09:57
    import pandas as pd import os # 获取当前路径 cwd = os.getcwd() ...## 待读取批量csv的文件夹名称 Folder_Path = 'data_Q1_2018' ## 待保存的合并后的csv的文件夹名称 SaveFile_Path = 'data_Q1_2018_mer...
  • 每天一个小技巧 Python数据处理 | 批量提取文件夹下的csv文件,每个csv文件根据列索引提取特定几列,并将提取后的数据保存到新建的一个文件夹
  • 这里一共给出了四种读取csv文件的方法,csvread,importdata,textscan和uiopen,个人觉得最好用的是最后一种 1.csvread M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,这时要求整个csv文件内容...
  • @关于matlab批量处理excel (csv文件 要求: 获取文件夹中所有文件的第二列,并求得积分,与文件名的尾号绘制画图; 代码如下: global filename; [filename ,framesPath] = uigetfile({'*.csv'},'选择文件地址'...
  • 批量读取csv文件
  • python 批量处理文件夹内的csv

    千次阅读 2022-02-10 16:24:49
    假设project文件夹下有很多csv文件 ,读取这些csv文件,可以做一些数据处理操作,然后分别保存到另一个csv文件中: import os import pandas as pd filedir = "D:\\project\\" file_namelist = os.listdir(file...
  • 以下matlab代码作用为批量修改(文件数1到任意)csv文件中的值,例如将所有大于0的数修改为1 clc; clear all; path = ''; % 读取 output_path = ''; % 输出路径 mkdir(output_path); num_csvfiles = 1; % 要修改的...
  • csv文件批量合并工具

    2016-10-21 16:20:23
    CSV文件批量合并工具,支持是否将文件首行设为标题行不导入。
  • Python批量读取csv文件

    千次阅读 2019-01-03 16:28:30
    原文链接:... import pandas as pd import numpy as np import glob,os path = r'E:\wf\WFdata\UF' file = glob.glob(os.path.join(path, "*.csv")) print(file) dl = [] for f ...
  • 解决思路:先读取需处理的csv文件名,去除文件夹下的无用文件,得到待处理文件地址名称和新文件保存的地址名称,分别读取每一个csv文件进行处理后写入新的文件。if __name__ == '__main__':filenames_in = '../...
  • 如何用python把多个csv文件数据处理后汇总到新csv文件你看这月光多温柔,小编转头还能看见你,一切从未坍塌。可以用pandas读取数据,首先把文件方同一个文件价里,然后对当前文件价的所有内容循环读取,在对读取到的...
  • 主要介绍了Python使用Pandas对csv文件进行数据处理的方法,本文通过实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 本篇文章中我将完成如何大批量处理csv文件的数据。首先讲解程序里用到的函数。 在此之前,向新手科普一下matlab注释多行的小技巧:注释:ctrl+r 取消注释:ctrl+t 1、str = strrep(str1, str2, str3) 用于删掉...
  • matlab批量处理excel(CSV)文件数据

    万次阅读 多人点赞 2019-01-29 21:51:25
    1-29,参加完2019年美国大学生数学建模竞赛,小伙伴都回家了,就我一个人在寝室,太无聊了,就把在比赛中遇到的excel批处理,写一下思路(ps:其实我在比赛中利用的是SQLServer数据库和matlab相结合的数据处理方法,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,159
精华内容 6,063
关键字:

批量处理csv文件