首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用write.table将结果附加到R中的现有文件

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

Stack Overflow用户
提问于 2015-03-23 09:10:11
回答 2查看 7.4K关注 0票数 1

我已经对R中的文件进行了文本挖掘,然后将其作为新列附加到现有文件中。完成后,将在实际内容之后添加该列。我该怎么纠正呢?

结果如下:

代码语言:javascript
复制
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   

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

代码语言:javascript
复制
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    

我使用的代码是:

代码语言:javascript
复制
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)

然后,原始的结果被转换为dataframe grp1作为开始,grp2作为结果,现在需要使用print语句帮助在输出文件中的单个行中打印相同的行,使用for循环。

当print语句抛出一些错误时,我使用了这段代码,

代码语言:javascript
复制
for (n in seq_len(nrow(grp1))) 
{
    print(grp1[n]+','+grp2[n]+) 
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-23 20:50:40

代码语言:javascript
复制
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结束,在与同一行的任何数据合并之前,需要对其进行条带化。此外,如果合并数据与原始数据的长度不同或更长,则索引可能超出范围。但这是错误处理,我将把它留给您,我刚刚提供了一个解决您的问题的概念。除此之外,这是非常直接的编码

票数 0
EN

Stack Overflow用户

发布于 2015-03-30 05:32:19

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

代码语言:javascript
复制
df <- cbind(origin, result)


# Move to new file
     write.table(df, file="new_OT5.csv", sep=",", append=TRUE , row.names=FALSE, col.names=FALSE)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29206500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档