2010-02-27 25 views

Trả lời

19

vì có thẻ "r" trong câu hỏi, tôi cho rằng đây là câu hỏi R. Trong R, bạn không cần phải làm gì để xử lý các dấu phẩy trích dẫn:

> read.csv('t.csv', header=F) 
    V1   V2   V3   V4 
1 Sudan 15,276,000 14,098,000 13,509,000 
2 Chad  209000  196000  190000 

# if you want to convert them to numbers: 
> df <- read.csv('t.csv', header=F, stringsAsFactor=F) 
> df$V2 <- as.numeric(gsub(',', '', df$V2)) 
+8

Tôi rất thích nó nếu read.csv (và read.table tại gốc) lấy đối số 'thousand.sep' làm ký tự để cho phép (và dải) trong dữ liệu số. Bây giờ tôi nghĩ rằng giải pháp gsub() là tất cả những gì chúng tôi có. –

1

Nhìn vào đó tập hợp các dữ liệu bạn có thể phân tích nó sử dụng " '(chú ý thêm không gian) là intead seperator của',"

-4

Làm thế nào về làm nó như là một quá trình hai bước. 1. Thay thế "," bằng ký tự TAB 2. Tách trên tab.

Tôi giả định NET ở đây nhưng nguyên tắc mẫu sẽ được áp dụng trong bất kỳ ngôn ngữ

+0

Một vài ý kiến ​​- 1) "r" tag nghĩa Karsten đang sử dụng "R" ngôn ngữ, không phải .NET. 2) Thay thế tất cả dấu phẩy bằng các tab sẽ không hoạt động, bạn sẽ kết thúc việc chia nhỏ dữ liệu của mình theo những cách không tốt. –

0

Bạn có thể sử dụng các biểu thức chính quy sau đây để loại bỏ các dấu phẩy và bất kỳ dấu ngoặc kép xung quanh để rời khỏi đồng bằng nội dung csv

,(?=[0-9])|" 

sau đó xử lý nó như bình thường

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