如何按照指定的行数拆分CSV文件?

我已经将CSV文件(大约10,000行;每行具有300列)存储在LINUX服务器上。我想将此CSV文件分解为500个CSV文件,每个文件20条记录。(每个具有与原始CSV中相同的CSV标头)

有什么linux命令可以帮助这种转换吗?

回答:

使其成为一个函数。您现在可以打电话splitCsv <Filename> [chunkSize]

splitCsv() {

HEADER=$(head -1 $1)

if [ -n "$2" ]; then

CHUNK=$2

else

CHUNK=1000

fi

tail -n +2 $1 | split -l $CHUNK - $1_split_

for i in $1_split_*; do

echo -e "$HEADER\n$(cat $i)" > $i

done

}

发现于:http : //edmondscommerce.github.io/linux/linux-split-file-

eg-csv-and-keep-header-row.html

以上是 如何按照指定的行数拆分CSV文件? 的全部内容, 来源链接: utcz.com/qa/426144.html

回到顶部