多个 csv 文件字段相同,顺序不同,怎么合并成一个文件?

2017-09-10 18:45:44 +08:00
 Devin
用 grep, sed, awk 之类的命令操作会比较简单么?
2549 次点击
所在节点    问与答
6 条回复
15015613
2017-09-10 19:10:15 +08:00
是字段顺序不同吗?

字段顺序不同的话,grep,sed, awk 很难处理的。
这种情况用 Python 写一个简单脚本就可以了,也就几行的事。
hoyixi
2017-09-10 19:16:41 +08:00
合并前要统一字段顺序吧,关键看 “顺序不同”, 这个不同是否有规律,如果没有规律,每个或每几个文件,都有自己的一个字段顺序,和其它文件都不一样,那不管是命令还是编程,似乎都要单独分类处理顺序。

如果就几个文件,最简单的就是:
1 Excel 打开 csv
2 分列 (不会刻意去搜 “ Excel csv 分列”)
3 移动列,统一顺序
4 用你喜欢的方法合并
Devin
2017-09-10 19:24:06 +08:00
@hoyixi 是的,先把所有字段找出来并统一顺序
15015613
2017-09-10 20:05:05 +08:00
@Devin
刚刚试着写了一下,四行代码的事。

```
import pandas as pd

files = ['1.csv', '2.csv', '3.csv']
result = pd.concat([pd.read_csv(f) for f in files],ignore_index=True)
result.to_csv('all.csv',index=False)
```
Devin
2017-09-10 20:07:29 +08:00
@15015613 谢谢,看来要学学 Python 了😂
ho121
2017-09-10 21:15:51 +08:00
全部转成 json,再转成 csv

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/389586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX