2013-02-26 41 views
5

Tôi mới tham gia R và không có nhiều tiếp xúc với lập trình. Tôi đang gặp sự cố khi tải tệp (chứa đối tượng JSON) vào R.Làm thế nào để đọc dữ liệu từ một đối tượng JSON (trong một tệp) vào R?

> library(rjson) 
> jsonFile <- "C:\\Users\\jsonRecords.txt" 
> jsonData <- fromJSON(jsonFile, method = "C", unexpected.escape = "error") 
Error in fromJSON(jsonFile, method = "C", unexpected.escape = "error") : 
    unexpected character 'C' 

Tôi muốn dữ liệu được đọc vào R để phân tích thêm .. Mọi trợ giúp sẽ được đánh giá cao.

Cảm ơn

+0

hãy nhìn vào 'rjson' http://cran.r-project.org/web/packages/rjson/index.html –

+0

fromJSON (json_str, file, method = "C" , unexpected.escape = "error") Đây là tất cả nó có trong Reference.pdf để nhập dữ liệu vào R – user1946217

Trả lời

10

Hãy thử chỉ này:

fromJSON(file = json_file) 

Nó sẽ đọc tất cả tập tin. ở đây một ví dụ:

write(toJSON(iris),'jstest') 
res <- fromJSON(file="jstest") 

str(res) 
List of 5 
$ Sepal.Length: num [1:150] 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... 
$ Sepal.Width : num [1:150] 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... 
$ Petal.Length: num [1:150] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... 
$ Petal.Width : num [1:150] 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... 
$ Species  : chr [1:150] "setosa" "setosa" "setosa" "setosa" ... 
+0

Hai lần bây giờ tôi đã thấy các câu trả lời phủ định được đánh dấu là chính xác. +1 –

5

nó trông giống như tất cả các bạn đang thiếu là file= luận

fromJSON(file = json_file, method = "C", unexpected.escape = "error") 

nếu bạn nhìn vào args(fromJSON)

> args(fromJSON) 
function (json_str, file, method = "C", unexpected.escape = "error") 

bạn sẽ thấy rằng đối số đầu tiên là json_str và thứ hai là file. Vì bạn chỉ cung cấp đối số thứ hai, bạn phải nói cho hàm một cách rõ ràng những gì bạn đang cho nó. (Nếu không, nó nghĩ rằng chuỗi json_file của bạn là một đối tượng JSON và nó sẽ cố gắng đối xử với nó như vậy .. do đó lỗi.)

+0

Có Tôi đã sửa và chạy lại lệnh nhưng nó vẫn cho cùng một lỗi> jsonFile <- "C: \\ Người dùng \\ jsonRecords.txt " > jsonData <- fromJSON (jsonFile, method =" C ", unexpected.escape =" error ") Lỗi trong fromJSON (jsonFile, method =" C ", unexpected.escape =" error ") : ký tự không mong muốn 'C' – user1946217

+0

Hãy thử với một tệp khác, có thể là một ví dụ www.json.org Nếu sau đó bạn không có lỗi, thì có thể có một vài thứ ing trong tập tin gây ra vấn đề. Bạn có thể đăng tập tin trực tuyến không? –

+0

Cảm giác xấu của tôi .. Cảm ơn, nó đã đọc dữ liệu .. :) – user1946217

Các vấn đề liên quan