2013-08-01 3 views
2

Вероятно, простой вопрос, и я рассмотрел множество опций в scan, но havent получил то, что я хочу.Прочитать файл в R конец конца строк

Простой пример будет

require(httr) 
example <- content(GET("http://www.r-project.org"), as = 'text') 
write(example, 'text.txt') 
input <- readLines('text.txt') 

> example 
[1] "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n<head>\n<title>The R Project for Statistical Computing</title>\n<link rel=\"icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n<link rel=\"shortcut icon\" href=\"favicon.ico\" type=\"image/x-icon\">\n<link rel=\"stylesheet\" type=\"text/css\" href=\"R.css\">\n</head>\n\n<FRAMESET cols=\"1*, 4*\" border=0>\n<FRAMESET rows=\"120, 1*\">\n<FRAME src=\"logo.html\" name=\"logo\" frameborder=0>\n<FRAME src=\"navbar.html\" name=\"contents\" frameborder=0>\n</FRAMESET>\n<FRAME src=\"main.shtml\" name=\"banner\" frameborder=0>\n<noframes>\n<h1>The R Project for Statistical Computing</h1>\n\nYour browser seems not to support frames,\nhere is the <A href=\"navbar.html\">contents page</A> of the R Project's\nwebsite.\n</noframes>\n</FRAMESET>\n\n\n\n" 

input 
[1] "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"  
[2] "<html>"                 
[3] "<head>"                 
[4] "<title>The R Project for Statistical Computing</title>"     
[5] "<link rel=\"icon\" href=\"favicon.ico\" type=\"image/x-icon\">"   
[6] "<link rel=\"shortcut icon\" href=\"favicon.ico\" type=\"image/x-icon\">" 
[7] "<link rel=\"stylesheet\" type=\"text/css\" href=\"R.css\">"    
[8] "</head>"                 
[9] ""                   
[10] "<FRAMESET cols=\"1*, 4*\" border=0>"          
[11] "<FRAMESET rows=\"120, 1*\">"            
[12] "<FRAME src=\"logo.html\" name=\"logo\" frameborder=0>"     
[13] "<FRAME src=\"navbar.html\" name=\"contents\" frameborder=0>"    
[14] "</FRAMESET>"                
[15] "<FRAME src=\"main.shtml\" name=\"banner\" frameborder=0>"     
[16] "<noframes>"                
[17] "<h1>The R Project for Statistical Computing</h1>"       
[18] ""                   
[19] "Your browser seems not to support frames,"        
[20] "here is the <A href=\"navbar.html\">contents page</A> of the R Project's" 
[21] "website."                 
[22] "</noframes>"                
[23] "</FRAMESET>"                
[24] ""                   
[25] ""                   
[26] ""                   
[27] ""  

мотивация для этого является то, что я хочу, чтобы хранить различные файлы в Postgresql и я передаю их в заданном формате example в отличие от input. Извиняюсь, если я не объяснил очень хорошо.

@Hong Ooi дал хороший ответ, используя readChar. У меня проблемы с кодированием, поэтому пришлось обернуть

iconv(readChar(file, nchars=file.info(file)["size"], TRUE), from = "latin1", to = "UTF-8") 

, чтобы остановить публикацию базы данных.

ответ

4

Если вы хотите, чтобы все эти строки объединяются в одну строку:

paste(input, collapse="\n") 

В качестве альтернативы, если вы читаете из файла и хотите, чтобы избежать разделения ввода в биты и положить их обратно вместе :

f <- readChar(file, nchars=file.info(file)["size"], TRUE) 
+0

Да, это одно решение. Я ищу способ прочитать «необработанный» файл, если хотите. – user1609452

+0

Я не понимаю. У вас уже есть «пример», который является исходными данными в одной большой строке. Фактически, все, что мой ответ делает, воссоздает 'example' из' input'. Есть что-то, что мне не хватает? –

+0

У меня нет исходных данных. У меня есть файлы. Я хочу прочитать их в бородавках и все как есть. – user1609452

Смежные вопросы