python读写csv文件并增加行列的实例代码


Posted in Python onAugust 01, 2019

python读写csv文件并增加行列,具体代码如下所示:

# -*- coding: utf-8 -*-
"""
Created on Thu Aug 17 11:28:17 2017
@author: Shawn Yuen
"""
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 定义给定初值或长度的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文件并增加行列的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
举例讲解Python中is和id的用法
Apr 03 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
matplotlib savefig 保存图片大小的实例
May 24 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
numpy.transpose()实现数组的转置例子
Dec 02 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
Jan 06 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 #Python
python对csv文件追加写入列的方法
Aug 01 #Python
Django Aggregation聚合使用方法解析
Aug 01 #Python
Flask教程之重定向与错误处理实例分析
Aug 01 #Python
python gdal安装与简单使用
Aug 01 #Python
Django模型修改及数据迁移实现解析
Aug 01 #Python
Django 大文件下载实现过程解析
Aug 01 #Python
You might like
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
php调用C代码的实现方法
2014/03/11 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
5 cool javascript apps
2007/03/24 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
python实现最短路径的实例方法
2020/07/19 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
简历自我评价怎么写好呢?
2014/01/04 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
个人查摆剖析材料
2014/10/04 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
作弊检讨书
2015/01/27 职场文书
接待员岗位职责范本
2015/04/15 职场文书
Mybatis是这样防止sql注入的
2021/12/06 Java/Android
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android