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

yipeiwu_com6年前Python基础

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使用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文件并增加行列的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

使用Python进行防病毒免杀解析

使用Python进行防病毒免杀解析

很多渗透工具都提供了权限维持的能力,如Metasploit、Empire和Cobalt Strike,但是都会被防病毒软件检测到这种恶意行为。在探讨一个权限维持技巧的时候,似乎越来越多的...

在Python中用has_key()方法查找键是否存在的教程

 如果给定的键在字典可用,has_key()方法返回true,否则返回false。 语法 以下是has_key()方法的语法: dict.has_key(key) 参...

django框架自定义用户表操作示例

本文实例讲述了django框架自定义用户表操作。分享给大家供大家参考,具体如下: django中已经给我生成默认的User表,其中的字段已经可以满足我们的日常需求。 但有时候,我们需要更...

Python实现html转换为pdf报告(生成pdf报告)功能示例

本文实例讲述了Python实现html转换为pdf报告(生成pdf报告)功能。分享给大家供大家参考,具体如下: 1、先说下html转换为pdf:其实支持直接生成,有三个函数pdfkit....

详解python使用递归、尾递归、循环三种方式实现斐波那契数列

详解python使用递归、尾递归、循环三种方式实现斐波那契数列

在最开始的时候所有的斐波那契代码都是使用递归的方式来写的,递归有很多的缺点,执行效率低下,浪费资源,还有可能会造成栈溢出,而递归的程序的优点也是很明显的,就是结构层次很清晰,易于理解 可...