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

步骤一:

读取csv文件,python实现的有以下几种方法:

1.利用csv库

import csv
with open('test.csv','r') 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','r') 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','w') as f:
    f.write(data)
"""
    用replace方法将,替换成\t
    然后在写入文件的时候,后缀名为tsv即可
"""


 

 

 


版权声明:本文为ximingren原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。