如何使用Go来合并两个csv
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要为大家展示了"如何使用Go来合并两个csv",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用Go来合并两个csv"这篇文章吧。背景通常我们
千家信息网最后更新 2025年01月19日如何使用Go来合并两个csv背景
这篇文章主要为大家展示了"如何使用Go来合并两个csv",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用Go来合并两个csv"这篇文章吧。
背景
通常我们处理文件都是用python+pandas,确实很香。但是今天突然有人找我用go写一个合并两个csv文件的,需要将两个csv按id进行合并,大致如下图
思路很简单,先读入两个csv文件,然后遍历比较id,如果相同就把另一个文件的内容加到第一个中。然后创建merge.csv,将上一步得到的数据写入csv即可。
代码部分
package mainimport ( "encoding/csv" "log" "os" "fmt")func join(fileName1 string, fileName2 string) (row [][]string) { fs1, _ := os.Open(fileName1) r1 := csv.NewReader(fs1) content1, err := r1.ReadAll() if err != nil { log.Fatalf("can not readall, err is %+v", err) } fs2, _ := os.Open(fileName2) r2 := csv.NewReader(fs2) content2, err := r2.ReadAll() if err != nil { log.Fatalf("can not readall, err is %+v", err) } row = make([][]string, len(content1[1:])) for i, row1 := range content1[1:] { for _, row2 := range content2[1:] { if row1[0] == row2[0] { row[i] = append(row[i], row1[0], row1[1], row1[2], row2[1], row2[2]) } } } return}func edit(filename string, row [][]string) { f, err := os.Create(filename) if err != nil { panic(err) } defer f.Close() //防止乱码 f.WriteString("\xEF\xBB\xBF") w := csv.NewWriter(f) w.Write([]string{"ID", "name", "gender", "course", "score"}) w.WriteAll(row) w.Flush()}func main() { row := join("1.csv", "2.csv") fmt.Println(row) edit("join.csv", row) fmt.Println("合并已完成!")}
以上是"如何使用Go来合并两个csv"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
两个
内容
文件
篇文章
学习
帮助
相同
乱码
代码
思路
数据
易懂
更多
条理
知识
编带
背景
行业
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
设置sql数据库编码格式
表示服务器端错误的返回码是
软件开发的道路并非一帆风顺
access数据库绑定不了
服务器能用的指令
查看网吧服务器配置
网络安全产业形势
准准上海互联网科技
莓数据库
html怎么加mysql数据库
小度与网络安全
电信网络安全的手抓报
软件开发工程师底薪
如何用命令登陆mysql数据库服务器
网络安全收藏报
服务器怎么假设游戏
学会这几招应对常见网络安全风险
服务器网络带宽低
服务器cpu装机方案
无法连接到数据库如何解决
表示服务器端错误的返回码是
服务器安全防范措施有哪些
读网络安全选课要求
碧湖互联网科技上海有限公司
淮南网络安全会议
教育信息与网络安全工作
手机无线网络技术
深圳胜鑫网络技术
软件开发精准锁客技术
软件开发包含编程吗