如何使用 R data.table fwrite 将 ill-formatted header 行写入 csv?

How to write ill-formatted header lines to a csv with R data.table fwrite?

我有以下 *csv 文件,其中包含三个格式不同于 csv 文件的“header”字段,example.csv:

# Filename is addresses.csv
# Location of file from https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html
# The data isn't authentic
John,Doe,120 jefferson st.,Riverside, NJ, 08075
Jack,McGinnis,220 hobo Av.,Phila, PA,09119
"John ""Da Man""",Repici,120 Jefferson St.,Riverside, NJ,08075
Stephen,Tyler,"7452 Terrace ""At the Plaza"" road",SomeTown,SD, 91234
,Blankman,,SomeTown, SD, 00298
"Joan ""the bone"", Anne",Jet,"9th, at Terrace plc",Desert City,CO,00123

通常,我会用 R data.table 读入文件,跳过开头的几行。

library(data.table)
dt = fread('addresses.csv', skip=3)
## do something

在analyzing/manipulating数据之后,我一般是这样写文件的:

fwrite(dt, "result.csv", col.names=FALSE)

问题在于,我已经删除了原来的 header 行。

是否有一种标准方法可以读取原始 header 行,并将它们附加到最终结果以通过 fwrite() 写入?我认为如果在使用 fwrite()

之前将这些 header 行附加到 dt 将会出现解析错误

编辑: 请注意,我希望保留 header 行,即

# Filename is addresses.csv
# Location of file from https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html
# The data isn't authentic

您可以先使用 write(header_lines, filename) 编写原始文件的标题行,然后使用选项 append=T.

编写 fwrite 命令