我有一个水平排列的CSV file(samplefile.csv
),标题在第一列中。同样,每一行都有不同数量的列。我想读取此CSV文件,替换其中一个单元格值,然后再次将其另存为CSV文件,其格式与原始文件相同,并且其列和行数完全相同。
这听起来很简单,但是我正在努力寻找一种方法。我尝试在this和this帖子的帮助下完成此操作,但是仍然无法以所需的方式获得输出。有人可以帮我吗?
修改
我尝试使用this post中的答案来读取CSV文件(samplefile.csv
),这为我提供了以下输出,其中标题有些混乱,空单元格被替换为NA值,这不是我的意思想要
aaa <- read.tcsv("samplefile.csv")
aaa
Header.1 Header.2..units. Header.3..units. Header.3..units..1
1 Some text 0.0625 0 264896
2 <NA> 0.0625 1200 664747
3 <NA> 0.0625 1380 1
4 <NA> 0.2500 1500 1
5 <NA> 0.6250 1620 NA
6 <NA> 1.3125 1740 NA
7 <NA> 2.4375 1860 NA
8 <NA> 3.5625 1980 NA
9 <NA> 4.6250 2100 NA
10 <NA> 5.0000 2220 NA
11 <NA> 5.0000 2340 NA
12 <NA> 4.6250 2460 NA
13 <NA> 3.5625 2580 NA
14 <NA> 2.4375 2700 NA
15 <NA> 1.3125 2820 NA
16 <NA> 0.6250 2940 NA
17 <NA> 0.2500 3060 NA
18 <NA> 0.0625 3180 NA
19 <NA> 0.0000 3300 NA
20 <NA> 0.0000 18000 NA
此外,我不确定修改后(例如,替换单元格值之后)再次保存文件时如何恢复为原始格式
我尝试通过使用t
(转置)再次保存文件,如下所示
write.csv(t(aaa), file ="samplefile_e.csv", row.names=T)
但仍然,保存的文件中存在以下问题
NA
答案 0 :(得分:0)
我终于从Bill Dunlap的R-帮助邮件列表中得到了一个解决方案。
用他的话
使用read.table读取每行具有可变条目数的数据可能是一个错误-data.frames(read.table返回)不适用于此类数据。 R中的数据作为列表 名称。
可以找到完整答案here