如何从CSV文件中获取标头并将其写入另一个文件? 如果我在CSV文件中没有很多列,则此代码有效,但当我的CSV文件包含200多列时,它不起作用。它只是将列标题(但不是全部,它们被截断)回显到屏幕上。
@echo off
set /p "header="<book1.csv
echo %header% > "book3.csv"
答案 0 :(得分:3)
#!/usr/bin/perl
use warnings;
use strict;
use Text::CSV_XS;
my $csv = 'Text::CSV_XS'->new({binary => 1, escape_char => '\\'});
open my $fh, '<', 'book1.csv' or die $!;
my $h = $csv->getline($fh);
my $out = 'Text::CSV_XS'->new({eol => $/, escape_char => '\\'});
open my $fho, '>', 'book3.csv' or die $!;
$out->say($fho, $h);
使用
进行测试"Header 1","Header, 2","Header \"3\"","Header
4"
1,2,3,4
答案 1 :(得分:1)
如果您运行的是powershell,则应该能够使用-TotalCount
(别名-Head
)的-First
(别名Get-Content
和GC
)参数来只需获取文件的第一行。
gc book1.csv -head 1|sc book3.csv