您的位置:首页 > 编程语言 > Python开发

python整合小csv文件成大csv文件,然后转化为tsv文件的方法

2017-09-16 23:33 656 查看

步骤一:

读取csv文件,python实现的有以下几种方法:
1.利用csv库
import csv
with open('test.csv') as f:
f_csv = csv.reader(f)
headers = next(f_csv)
for row in f_csv:
print(row)
"""
利用csv库中的reader函数来读取文件对象
返回一个iterator,每一个iteration是csv文件的一行
而next函数则将一个iterator转化为列表形式。
值得注意的是:f_csv对象是需要I/O连接的,headers对象是一行一行迭代的,所以这两个对象只能在结构体里面使用
"""


2.直接用split函数分割数据

with open('test.csv') as f:
for line in f:
f_tsv=line.split(',')
print (f_tsv)
"""
这种方法的缺点是:当遇到字段中有,的时候,就会出错
"""
3.pandas的read_csv函数

data=pd,read_csv('test.csv')
print(data)
#这种方法简单且方便





步骤二:

将每个小csv文件连接成大csv文件
方法一:

import csv

data = []
with open('test.csv') as f:
f_csv = csv.reader(f)
for row in f_csv:
data.append(row)

with open('test1.csv') as f:
f_csv = csv.reader(f)
for row in f_csv:
data.append(row)

with open('data.csv', 'w') as f:
f_csv = csv.writer(f)
f_csv.writerows(data)
"""
同时打开两个文件,进行操作
将每个csv中的数据添加到一个list对象中即可完成连接
最后再用write函数即可将数据写入csv文件
"""
方法二:
data1 = pd.read_csv('test.csv')
data2 = pd.read_csv('test1.csv')
data = data1.append(data2)
# data=pd.concat([data1,data2])
data.to_csv('data.csv')
"""
两种方法连接两个csv
一是append方法,在数据一的后面加上数据二
二是concat方法,将两个数据集连接起来
"""

步骤三:

将csv转为tsv
with open('test.csv') as f:
data = f.read().replace(',', '\t')
with open('test.tsv') as f:
f.write(data)
"""
用replace方法将,替换成\t
然后在写入文件的时候,后缀名为tsv即可
"""
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: