根据特定列的值分割CSV文件。

问题描述 投票:0回答:1

我有多个CSV文件,我需要将每个文件分割成67个独立的文件。每个表都有超过一百万行和几十列。其中一列被称为 "代码",它的范围从1到67,这是我需要分割的基础。我一直是通过选择每个值(1、2、3等)内的所有行,然后将它们粘贴到自己的CSV文件中并保存,来手动进行这种拆分,但这样做耗时太长。我通常使用ArcGIS来创建某种批处理文件分割,但我没有太多的运气在这样做这周围。如果有任何提示或技巧,我将非常感激!

csv split arcgis
1个回答
0
投票

如果你能使用awk,有一个很好的方法可以做到这一点。

假设你的文件看起来像这样。

Code,a,b,c
1,x,x,x
2,x,x,x
3,x,x,x

你需要一个这样的命令

awk -F, 'NR > 1 {print $0 >> "code" $1 ".csv"}' data.csv

这样就能把它保存到这样的文件中 code1.csv 等,跳过标题行。

© www.soinside.com 2019 - 2024. All rights reserved.