使用 write.table 将结果附加到 R 中的现有文件

Appending result to existing file in R using write.table

我在 R 中对文件进行了文本挖掘,然后将其作为新列附加到现有文件中。完成后,该列将添加到实际内容之后。我该如何纠正这个问题?

结果如下所示:

Customer Names
T-MAX INDUSTRIAL LTD
T-MAX INDUSTRIAL LTD.
ADCHEM
ADCHEM (AUSTRALIA)
ADCHEM (AUSTRALIA) PTY LTD
AUROBINDO PHARMA (AUSTRALIA)
AUROBINDO PHARMA (AUSTRALIA) PTY
Aurobindo Pharma (Australia) Pty
AUROBINDO PHARMA(AUSTRALIA) PTY LTD
AUROBINDO PHARMA(AUSTRALIA)PTY LTD
V1
tmax industrial 
tmax industrial 
adchem
adchem  
adchem   
aurobindo pharma  
aurobindo pharma  
aurobindo pharma  
aurobindo pharma   
aurobindo pharma   

但我的输出必须如下所示:

Customer Names                           V1 
T-MAX INDUSTRIAL LTD                    tmax industrial     
T-MAX INDUSTRIAL LTD.                   tmax industrial     
ADCHEM                                  adchem  
ADCHEM (AUSTRALIA)                      adchem      
ADCHEM (AUSTRALIA) PTY LTD              adchem      
AUROBINDO PHARMA (AUSTRALIA)            aurobindo pharma    
AUROBINDO PHARMA (AUSTRALIA) PTY        aurobindo pharma    
AUROBINDO PHARMA (AUSTRALIA) PTY        aurobindo pharma    
AUROBINDO PHARMA(AUSTRALIA) PTY LTD     aurobindo pharma    
AUROBINDO PHARMA(AUSTRALIA)PTY LTD      aurobindo pharma    

我使用的代码是:

result <- data.frame(text=unlist(sapply(b, `[`)), stringsAsFactors=FALSE)
write.table(result, file="Counter_Party_Testing.csv", sep=".", eol="\n", append=TRUE, row.names=FALSE, col.names=FALSE)

然后结果 Original 也被转换为数据帧 grp1 作为 Origin ,grp2 作为 Result ,现在需要 print 语句的帮助,以使用 for 循环在输出文件的一行中打印两个文件中的每个文件的相同行。

我在打印语句抛出一些错误时使用了这段代码,

for (n in seq_len(nrow(grp1))) 
{
    print(grp1[n]+','+grp2[n]+) 
}
with open('file-one.txt', 'r') as origin:
    original_data = origin.readlines()

with open('file-two.txt', 'r' as merge:
    merge_data = origin.readlines()

with open('output.csv', 'w' as output:
    for i in range(len(original_data)):
        output.write(original_data[i].strip() + ', ' + merge_data[i].strip() + '\n')

这解决了数据未正确合并的问题。现在你怎么用write.table来呈现,不在我日常使用范围之内。但是就原始数据而言,这解决了它。如果愿意,您可以将最终结果放入字符串中而不是将其写入磁盘。

需要注意的一件事是,您可能会像上面的示例一样以尾随 \n 结束,这需要在与同一行上的任何数据合并之前进行条带化。如果合并数据与原始数据的长度不同或更长,索引也可能超出范围。但那是错误处理,我会把它留给你,我刚刚提供了一个解决你问题的概念。除此之外,它的编码非常简单

已通过此代码获得所需的输出:

df <- cbind(origin, result)


# Move to new file
     write.table(df, file="new_OT5.csv", sep=",", append=TRUE , row.names=FALSE, col.names=FALSE)