python中怎么读写csv文件并增加行列,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
具体代码如下所示:
# -*- coding: utf-8 -*- import csv d = list(range(38685)) with open('./kinetics_test.csv') as f1: f_csv = csv.DictReader(f1) for i, row in enumerate(f_csv): #print(row) key1 = 'label' value1 = 'test' row[key1] = value1 key2 = 'is_cc' value2 = '0' row[key2] = value2 d[i] = row f1.close() headers = ['label', 'youtube_id', 'time_start', 'time_end', 'split', 'is_cc'] with open('./kinetics_test_new_.csv', 'w') as f: f_csv = csv.DictWriter(f, headers) f_csv.writeheader() f_csv.writerows(d) f.close() with open('./kinetics_test_new_.csv','rt') as fin: lines='' for line in fin: if line!='\n': lines+=line with open('./kinetics_test_new.csv','wt')as fout: fout.write(lines)
为了下载test数据,
方法一: 用Excel打开csv文件,手动添加label和is_cc;
方法二: 利用python里面的csv模块改写。
生成的csv文件中奇怪的多了一些空行,然后找到解决方法,见参考资料。
python使用writerows写csv文件产生多余空行
python 定义给定初值或长度的list
知识点扩展:
python写入csv文件的几种方法总结
最常用的一种方法,利用pandas包
import pandas as pd #任意的多组列表 a = [1,2,3] b = [4,5,6] #字典中的key值即为csv中列名 dataframe = pd.DataFrame({'a_name':a,'b_name':b}) #将DataFrame存储为csv,index表示是否显示行名,default=True dataframe.to_csv("test.csv",index=False,sep=',') a_name b_name 0 1 4 1 2 5 2 3 6
同样pandas也提供简单的读csv方法
import pandas as pd data = pd.read_csv('test.csv')
会得到一个DataFrame类型的data,不熟悉处理方法可以参考pandas十分钟入门
另一种方法用csv包,一行一行写入
import csv #python2可以用file替代open with open("test.csv","w") as csvfile: writer = csv.writer(csvfile) #先写入columns_name writer.writerow(["index","a_name","b_name"]) #写入多行用writerows writer.writerows([[0,1,3],[1,2,3],[2,3,4]]) index a_name b_name 0 1 3 1 2 3 2 3 4
读取csv文件用reader
import csv with open("test.csv","r") as csvfile: reader = csv.reader(csvfile) #这里不需要readlines for line in reader: print line
看完上述内容,你们掌握python中怎么读写csv文件并增加行列的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。