2013-08-26 90 views
7

Tôi gặp một số vấn đề trong việc đọc một tập tin csv với R.Lỗi khi đọc tập tin csv trong R

x=read.csv("LorenzoFerrone.csv",header=T) 

Error in make.names(col.names, unique = TRUE) : 
     invalid multibyte string at '<ff><fe>N' 

tôi có thể đọc các tập tin sử dụng văn phòng miễn phí với không có vấn đề.

Tôi không thể tải tệp lên vì tệp có đầy đủ thông tin hợp lý.

Tôi có thể làm gì?


Mã hóa cài đặt có vẻ như giải pháp cho vấn đề.

> x=read.csv("LorenzoFerrone.csv",fileEncoding = "UCS-2LE") 
> x[2,1] 
[1] Adriano Caruso 
100 Levels: Ada Adriano Caruso adriano diaz Adriano Diaz alberto ferrone Alexey ... Zia Tina 
+0

tôi chưa bao giờ có lỗi này trước đây, nhưng như tôi có thể hiểu từ các thông báo lỗi bạn có thể có 2 cột với sa tôi tên trong tập tin của bạn. – Error404

+3

Có một giải pháp [ở đây] (http://r.789695.n4.nabble.com/Read-data-in-R-td2336018.html) – Metrics

+1

Xin chào, bạn có quyền làm việc với fileEncoding = "UCS-2LE ". Tôi sẽ chờ một chút trước khi đóng câu hỏi, chỉ để chắc chắn. – Donbeo

Trả lời

2

Bạn cần chỉ định dấu phân cách chính xác trong đối số sep.

0

Không chắc nếu điều này là hữu ích, nhưng tôi đã có một vấn đề tương tự và đã tìm ra rằng đó là vì tôi "csv" tập tin đã có một hậu tố .csv, nhưng thực sự là một tập tin .xls!

0

Không chắc chắn nếu điều này giúp, chỉ có một vấn đề tương tự mà tôi giải quyết bằng cách loại bỏ "từ csv tôi đã cố gắng để nhập khẩu. Hàng đầu tiên của cơ sở dữ liệu có tên cột được viết là" colname "," colname2 ", "etc" và tôi đã xóa tất cả "và csv đã được đọc trong R chỉ sau đó.

5

Nguyên nhân là mã hóa không hợp lệ. Tôi đã giải quyết thay thế tất cả "è" bằng e

+0

Tôi không chắc chắn nếu điều này trả lời câu hỏi. – Opal

1

Thông thường vấn đề về mã hóa. Bạn có thể thử thay đổi mã hóa hoặc xóa các ký tự vi phạm (chỉ cần sử dụng trình soạn thảo yêu thích của bạn và thay thế tất cả các trường hợp). Trong một số trường hợp R sẽ nhổ vị trí char, ví dụ:

không hợp lệ chuỗi multibyte 1847

nào nên làm cho cuộc sống của bạn dễ dàng hơn. Cũng lưu ý rằng bạn có thể được yêu cầu lặp lại quá trình này nhiều lần (xóa tất cả các ký tự vi phạm hoặc thử một số mã hóa).

0

Tôi đã giải quyết được sự cố bằng cách xóa mọi dấu hiệu đồ họa trong văn bản (ví dụ: dấu trọng âm). Tiêu đề của tôi được viết bằng tiếng Tây Ban Nha và có một số dấu trọng âm trong đó. Tôi đã thay thế bằng những từ đơn giản (México = Mexico) và vấn đề đã được giải quyết.

0

Tôi biết đây là một bài cũ, nhưng chỉ muốn nói với người bản xứ không phải tiếng Anh, rằng nếu bạn sử dụng "" như seperator thập phân,

0

này sẽ đọc các tên cột như nó vốn có và giành' t trả lại bất kỳ lỗi:

x = read.csv(check.names = F) 

Để xóa/thay thế các nhân vật phiền hà trong tên cột, sử dụng này:

iconv(names(x), to = "ASCII", sub = "")