我想更改大型csv文件的列名,其余部分保持不变。我可以不重写整个文件吗?我目前的代码很慢:
library(data.table)
da = fread(file)
setnames(da, names(da), tolower(names(da)))
write.csv(da, file, row.names = F)
答案 0 :(得分:3)
如果您可以使用sed
,这将非常简单。这是一个示例文件:
A,B,C
Foo,Bar,Baz
1,2,3
您想将A, B, C
转换为a, b, c
。你可以这样做:
sed -e '1s/\(.*\)/\L\1/' test.csv > test-lower.csv
test-lower.csv
的内容是:
a,b,c
Foo,Bar,Baz
1,2,3