Thay đổi giá trị thuộc tính lớp CSV từ văn bản sang số trong QGIS?


28

Tôi đọc trong tệp CSV để liên kết đến tệp .shp.

Tất cả các biến chỉ là số đến dưới dạng văn bản.

Làm cách nào để thay đổi các biến văn bản thành số trong QGIS?

Câu trả lời:


37

Tôi đã từng có cùng một câu hỏi. Câu trả lời là bạn đặt một tệp trong cùng một thư mục với csvt kết thúc. Ví dụ: tên tệp của bạn là xyzdata.csv bạn thêm tệp xyzdata.csvt

Cái này bạn có thể chỉnh sửa với trình soạn thảo chẳng hạn. Và trong đó bạn đặt kiểu dữ liệu như thế này. "Số nguyên", "Chuỗi", "Số nguyên", "Số nguyên", "Chuỗi", "Thực"

Số nguyên bây giờ là biến cho cột đầu tiên, chuỗi cho cột thứ hai, v.v ... Hãy đảm bảo các tệp được đặt tên giống hệt nhau.

Chỉnh sửa: Xem tại đây quá nếu cần: http://underdark.wordpress.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/


Cảm ơn rất nhiều vì vậy có đúng là tất cả các tệp CSV sẽ được đọc dưới dạng văn bản không? Có thể tôi đã tưởng tượng điều này nhưng khi tôi bắt đầu với QGIS một lúc trước, tôi đã liên kết một tệp CSV và các số là số. Có vẻ như thông tin này nên có trong hướng dẫn sử dụng. (có lẽ tôi đã bỏ lỡ nó)
HealthMaps

Phải, điều đó cũng khá kỳ lạ đối với tôi. Nhưng nếu bạn chỉ có một vài cột, phương pháp này rất dễ thực hiện. Vì vậy, ... nó thực sự làm việc cho bạn?
Shepherdjo

Vâng, nó hoạt động hoàn hảo! Xem ra việc thiết lập tệp CSVT của bạn trong Excel; dấu ngoặc kép phụ bị kẹt trong v.v. Tôi sử dụng SAS hoặc R để tạo các tệp tôi muốn liên kết để không quá khó khăn để tạo tệp CSVT cùng với tệp CSV. Có vẻ như điều này cần phải được sửa chữa. Một hệ thống GIS khác tôi sử dụng thấy các số trong một cột CSV, nó đọc chúng dưới dạng số.
HealthMaps

Tôi đã tìm thấy một MMQGIS plugin sẽ thay đổi một cột từ văn bản sang float hoặc float thành văn bản. Chỉ hoạt động đối với tệp hình dạng, không phải tệp được liên kết hoặc tệp csv đã nhập. Xem michaelminn.com/linux/mmqgis
HealthMaps

Thật tốt khi nghe điều đó. Và thx cho gợi ý trình cắm. Tôi cũng sẽ biết ơn, nếu bạn chấp nhận câu trả lời của tôi sau đó, bạn sẽ không?
Người chăn cừu

15

Thay vì làm rối với tệp đầu vào, cố gắng làm cho mọi thứ hình ảnh hoàn hảo, chỉ cần sử dụng máy tính trường để chuyển đổi văn bản thành số / thực. Xem các ví dụ dưới đây:

Máy tính trường

Máy tính trường đến số

Máy tính trường thành Real

Bảng thuộc tính sau chức năng


Khi tôi mang tệp CSV vào, tôi không thể chỉnh sửa nó. Nút chỉnh sửa bị mờ đi. Làm thế nào tôi có thể làm cho nó có thể chỉnh sửa?
HealthMaps

Tôi không chắc bạn có thể chỉnh sửa csv thông qua qGIS. Tôi nghĩ rằng tôi đã đọc sai câu hỏi của bạn ở chỗ bạn đã nhập dữ liệu csv qua shapefile .
nagytech

2
Tôi đã liên kết, .shp đến một tệp csv có các cột số nhưng thực sự là văn bản. Rõ ràng người ta không thể tự mình thực hiện bất kỳ chỉnh sửa nào trên tệp CSV hoặc nếu nó được liên kết với tệp SHP. Vì tôi đã lưu tệp được liên kết và sau đó tải lại và có thể chỉnh sửa các tệp số văn bản thành định dạng số nguyên như bạn đề xuất. Có vẻ như sử dụng tệp .csvt hoạt động tốt nhất nếu bạn có nhiều cột văn bản cần chuyển đổi và sau đó sử dụng phương pháp tính toán trường nếu không có quá nhiều. Sẽ rất hữu ích khi có thể tự chỉnh sửa tệp CSV, không được liên kết với bất kỳ thứ gì.
HealthMaps

11

Thay vì tải .csv bằng cách sử dụng lớp vectơ, hãy sử dụng công cụ lớp Văn bản được phân tách. Nó sẽ cố gắng phát hiện loại dữ liệu phù hợp nhất cho mỗi cột.

Để biết thêm chi tiết, xem hướng dẫn sử dụng QGIS .

nhập mô tả hình ảnh ở đây


Sửa chữa ngay lập tức! Cảm ơn
user94812

5

MMQG đã gây ra vấn đề này, và, hóa ra, nó có thể khắc phục nó.

Khi bạn đã tham gia Dữ liệu Shapefile & CSV của mình, hãy sử dụng công cụ Sửa đổi> Chuyển văn bản thành văn bản của MMQGis.

Như thường lệ, nó để lại một vệt shapefile trung gian rác nhưng những gì khác là mới


1

Trong QGIS 3.x, một nguồn lỗi phổ biến là chọn dấu tách thập phân sai. Chọn hoặc Bỏ chọn hộp "Dấu phân cách thập phân là dấu phẩy" trước khi tải CSV của bạn vào QGIS:

nhập mô tả hình ảnh ở đây


-2

Một cách khác trong trường hợp bộ dữ liệu lớn được quản lý và rõ ràng tốn thời gian để tiến hành với máy tính trường (không lặp) hoặc trong trình chỉnh sửa văn bản: - lưu dữ liệu của bạn dưới dạng biến CSV + XY + cho khớp với shapefile của chúng tôi - tải lên CSV của bạn với trình cắm (nhập csv) sau đó lưu dưới dạng shapefile (điểm) - sau đó đóng q gis - quay lại thư mục với điểm shapefile, sao chép bảng dbf tương ứng / đổi tên - mở Qgis - tải lên dbf mới và tham gia shapefile (tính năng polygone)

Một hòn đá, hai con chim bồ câu: bạn có 1) điểm shapefile với tất cả dữ liệu và tất cả khả năng phản hồi 2) và shapefile độc ​​lập với bảng dbf được nối (có thể chỉnh sửa!) Được liên kết với polygone cho bản đồ học theo chủ đề

Điều này hơi thô lỗ, nhưng khá đơn giản ...

bs_epidemio


3
Mặc dù câu trả lời này thảo luận về cách đưa .csvtệp thành định dạng có thể chỉnh sửa, nhưng nó không giải quyết câu hỏi ban đầu về cách chuyển đổi giá trị thuộc tính từ văn bản thành số . Mặc dù điều quan trọng là phải có chất lượng, các câu hỏi tập trung, nhưng điều quan trọng không kém là các câu trả lời cho những câu hỏi đó phải tập trung và phù hợp nhất có thể với những gì được hỏi ban đầu.
Nhận không gian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.