北京网站改版价格,关于网站内容建设的正确说法,合作建站协议,做外贸是不是要有网站最近在处理数据相关需求#xff0c;遇到一个问题#xff1a;两个文件#xff0c;fileA.csv和fileB.csv#xff0c;结构相同#xff0c;fileA包含fileB的内容#xff0c;但是需要得到二者的差集#xff0c;输出新的文件fileC。
经过查询资料#xff0c;发现pandas可以很…最近在处理数据相关需求遇到一个问题两个文件fileA.csv和fileB.csv结构相同fileA包含fileB的内容但是需要得到二者的差集输出新的文件fileC。
经过查询资料发现pandas可以很好的处理数据相关需求经常处理大数据的小伙伴对这个神器肯定不陌生。
我第一次接触所以记录一下使用经历以后再遇到类似需求可以多研究下。
import pandas as pd# 读取文件 A
dataA pd.read_csv(./temp/fileA.csv)# 读取文件 B
dataB pd.read_csv(./temp/fileB.csv)# 合并数据框并标记每个值的来源注Column1,Column2 为csv文件的列名即文件首行数据的值
merged dataA.merge(dataB, on[Column1, Column2], howleft, indicatorTrue)# 筛选出只在文件 A 中存在的行
diff merged[merged[_merge] left_only]# 删除标记列
diff diff.drop(_merge, axis1)# 将差值写入新文件 C
diff.to_csv(./temp/fileC.csv, indexFalse)简单解释下上面的代码
1. 读取文件 fileA 和 fileB的内容
2. 使用 merge() 函数将文件 A 和文件 B 按照Column1和Column2列进行合并
on[Column1, Column2] 合并的列名称
howleft 表示以左边的数据为准即fileA数据这个参数可以理解为SQL中的left join
indicatorTrue 用来标记文件中每个值的来源
3. 通过标记列 _merge筛选出只在文件 A 中存在的行
4. 删除标记列 _merge
5. 将差集结果写入新的 CSV 文件 fileC
同理pandas还可以处理excel、txt文本等文件具体的e处理方法感兴趣的小伙伴可以自己搜索下。