如何从 csv 文件中删除多余的逗号?

How to remove the extra commas from a csv file?

我试图在 arules 包的 read.transactions() 命令中使用 R 中的 csv 文件。

在 Notepad++ 中打开 csv 文件时,每个不存在的值都会显示额外的逗号。因此,在 read.transactions() 中使用 csv 之前,我必须手动删除那些多余的逗号。例如,在 Notepad++ 中打开时的实际 csv 文件如下所示:

D115,DX06,Slz,,,,
HC,,,,,,
DX06,,,,,,
DX17,PG,,,,,
DX06,RT,Dty,Dtcr,,

我希望它在发送到 read.transactions() 时如下所示:

D115,DX06,Slz
HC
DX06
DX17,PG
DX06,RT,Dty,Dtcr

有什么方法可以在 read.transactions() 本身或任何其他方式中进行更改?但即使在那之前,我们也看不到 R 中那些额外的逗号(我显示的输出来自 Notepad++)..

那么当我们看不到它们时,我们如何在 R 中删除它们呢?

创建一个没有尾随逗号的新文件的简单方法是:

file_lines <- readLines("input.txt")
writeLines(gsub(",+$", "", file_lines),
           "without_commas.txt")

gsub命令中,",+$"匹配一行末尾的一个或多个(+)逗号(,)($ ).

由于您使用的是 Notepad++,因此您可以在该程序中进行替换:搜索 > 替换,将 ,+$ 替换为空,搜索模式 = 正则表达式。