簡體   English   中英

使用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)

然后將原始結果也轉換為數據框grp1作為Origin,並將grp2轉換為Result,現在需要print語句幫助,以使用for循環在輸出文件的單個行中打印兩個文件的相同行。

我在print語句拋出一些錯誤時使用了此代碼,

for (n in seq_len(nrow(grp1))) 
{
    print(grp1[n]+','+grp2[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)
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結尾,在合並與同一行中的任何數據之前,需要對此進行條紋處理。 如果合並數據與原始數據的長度不同或更大,則索引也可能超出范圍。 但這是錯誤處理,我留給您,我只是提供了您問題的解決方案概念。 除此之外,它還很簡單

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM