python操作csv的库_python练习 - 操作csv文件

下面纯属贴自己的练习代码了

__author__ = 'dragon'

import os

import csv

def parseByReader(filepath):

if not os.path.exists(filepath):

return

file = open(filepath)

if 0 == file:

return

reader = csv.reader(file)

#print first column

for row in reader:

print row[0]

file.close()

def parseByDictReader(filepath):

if not os.path.exists(filepath):

return

file = open(filepath)

if 0 == file:

return

reader = csv.DictReader(file, delimiter=',')

for row in reader:

for column in reader.fieldnames:

print row[column]

file.close()

def writeByDictWriter(filepath):

file = open(filepath, 'wb')

if 0 == file:

return

data = ['column1,column2,column3'.split(','),

'test1,test2,test3'.split(',')]

header = data[0]

list = []

for values in data[1:]:

inner_dict = dict(zip(header, values))

list.append(inner_dict)

writer = csv.DictWriter(file, delimiter=',', fieldnames=header)

writer.writeheader()

for row in list:

writer.writerow(row)

file.close()

def copycsv(src, des):

if not os.path.exists(src):

return

filesrc = open(src)

if 0 == filesrc:

return

if os.path.exists(des):

os.remove(des)

filedes = open(des, 'wb+')

if 0 == filedes:

filesrc.close()

return

reader = csv.DictReader(filesrc, delimiter=',')

writer = csv.DictWriter(filedes, delimiter=',', fieldnames=reader.fieldnames)

writer.writeheader()

for row in reader:

writer.writerow(row)

filesrc.close()

filedes.close()

if __name__ == '__main__':

#test 1

parseByReader('C:/Users/dragon/Downloads/T-B_data_dictionary_2014-03-10.csv')

#test 2

parseByDictReader('C:/Users/dragon/Downloads/T-B_data_dictionary_2014-03-10.csv')

#test 3

writeByDictWriter('d:/test.csv')

#test 4

copycsv('C:/Users/dragon/Downloads/T-B_data_dictionary_2014-03-10.csv', 'd:/test.csv')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值