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

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写入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文件并增加行列的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值