Python批量处理CSV文件
#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文件的更多相关文章
- python在处理CSV文件时,字符串和列表写入的区别
概述 Python在处理CSV文件时,如果writerow的对象是<type 'unicode'>字符串时,写入到CSV文件时将会出现一个字符占一个单元格的情况: 但是将字符串转换为列表类 ...
- python批量处理压缩文件
python批量处理压缩文件 博客小序:在数据的处理中,下载的数据很有可能是许多个压缩文件,自己一个一个解压较为麻烦,最近几日自己在处理一次下载的数据时,遇到大量的压缩数据需要处理,于是利用pytho ...
- python批量运行py文件
import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for ...
- python中操作csv文件
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...
- Python:使用pymssql批量插入csv文件到数据库测试
并行进程怎么使用? import os import sys import time def processFunc(i): time.sleep(10-i) print i if __name__= ...
- python脚本-excel批量转换为csv文件
pandas和SQL数据分析实战视频教程 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2& ...
- python批量读取txt文件为DataFrame
我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作.比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢? 首先我们要 ...
- python批量改动指定文件夹文件名称
这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files ...
- Python: 对CSV文件读写 和 Md5加密
1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...
随机推荐
- SGU 405 Totalizator
405. Totalizator Time limit per test: 0.25 second(s)Memory limit: 65536 kilobytes input: standardout ...
- numpy中的random函数
1:rand rand(d0, d1, ..., dn) Random values in a given shape. Create an array of the given shap ...
- [分享]2013:Linux的黄金之年-十大杰出成就
2013年已经过去.这一年见证了许多里程碑事件,使得2013年可以称得上是一个Linux的黄金之年.其中一些成果在FOSS和Linux世界更可以称得上是举世瞩目的成就. 1.Android的上升趋势 ...
- python+Django+apache的配置
下载安装xampp套件 下载mod_python-3.3.1.win32-py2.5-Apache2.2.exe 下载python-2.5.4.msi 下载Django 下载MySQL-python- ...
- systemtap 探针定制
http://blog.163.com/digoal@126/blog/static/163877040201391123645546/
- 怎样在MyEclipse上耍Chrome
近期在忙着期末大作业,所以Windows App和算法的专栏都没有更了,随后这几天都会陆续開始更新的,欢迎大家的关注啦-- 在写期末大作业的时候遇到一个问题.一个新的特性在MyEclipse自带的浏览 ...
- leetcode第一刷_Restore IP Addresses
字符串的问题真是难.一般递归比較好写代码,一般地归还会超时,并且測试用例特别多.. 这道题刚拿到手时直接慌了,这情况也太多了.后来冷静下来想想,事实上还是比較单纯的. 一个ip地址,肯定是四个整数加三 ...
- MVC使用TempData跨控制器传递信息而无需记住key的名称
通常情况下,使用TempData需要记住key的名称,本篇体验:通过帮助类,实现对TempData的设置.获取.删除. 关于传递信息的类: namespace MvcApplication1.Mode ...
- 解决TextView排版混乱或者自动换行的问题
其实在TextView中遇到排版自动换行而导致混乱不堪的情况是非常常见的,而且导致这种问题产生的原因就是英文和中文混合输入,半角字符和全角字符混合在一起了.一般情况下,我们输入的数字.字母以及英文标点 ...
- python文本 拼接或合并字符串
python文本 拼接.合并字符串 场景: 拼接.合并字符串 在这个场景中,我们首先想到的当然是使用+或者+=将两个字符串连接起来 >>> a='a' >>> ...