下面纯属贴自己的练习代码了
__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')