用python合并两个csv文件的实现方法,以及对表头和空行的处理

在做两个csv文件合并时,其实挺简单,但是中间遇到的问题比较多,所以统一在这里总结一下踩过的坑,希望可以给到大家帮助。

首先说一下,一开始使用的办法,刚开始希望通过第一个换行’\n‘地方往后去合并,这样就可以去除表头了;但是遇到的一个问题就是有一个文件的数据为空,也就是说除了表头没有数据,这时任务就会报错,所以把idex(’\n’)改成了find(’\n’),此时确实不报错了,但是出现了另一个问题,就是把另外一个csv文件中所有的数据当作一行去合并了,至此失败!

于是想到了使用pandas中的dataframe来实现。
两个csv文件相同的表结构,分别为test1.csv和test2.csv,读取test2.csv文件中的数据合并到test1.csv中:

第一步:读取数据

import pandas as pd

df = pd.read_csv('test2.csv',encoding = 'utf-8')
print(df) #可以打印出来看下数据长什么样子

以上读取的数据中含有表头和索引,那么在写入test1.csv文件时就要做一些处理。

第二步:打开test1.csv文件并写入读取的test2.csv文件的数据

with open('test1.csv') as f:
	df.to_csv(f,mode = 'a+', index = False, header = False)

以上代码要注意几点:
1、mode为’a+‘模式,就是追加数据,而非覆盖test1.csv文件;
2、index和header都设为“False”,就是忽略表头和索引,这样就解决了合并时表头的困惑。

好了,至此数据合并就完成了,有问题,欢迎大家来交流哦!

你可能感兴趣的:(python学习,pandas学习,python,csv,pandas)