Tôi đang cố gắng đọc tệp csv với numpy.genfromtxt
nhưng một số trường là chuỗi chứa dấu phẩy. Các chuỗi nằm trong dấu ngoặc kép, nhưng không rõ ràng là không nhận ra các dấu ngoặc kép như định nghĩa một chuỗi đơn. Ví dụ, với các dữ liệu trong 't.csv':Sử dụng numpy.genfromtxt để đọc tệp csv có chuỗi chứa dấu phẩy
2012, "Louisville KY", 3.5
2011, "Lexington, KY", 4.0
mã
np.genfromtxt('t.csv', delimiter=',')
tạo ra lỗi:
ValueError: Some errors were detected ! Line #2 (got 4 columns instead of 3)
Cấu trúc dữ liệu tôi đang tìm kiếm là:
array([['2012', 'Louisville KY', '3.5'],
['2011', 'Lexington, KY', '4.0']],
dtype='|S13')
Nhìn qua tài liệu, tôi không thấy bất kỳ tùy chọn nào để giải quyết vấn đề này. Có cách nào để làm nó với numpy, hoặc tôi chỉ cần đọc dữ liệu với các mô-đun csv
và sau đó chuyển đổi nó vào một mảng numpy?
bạn có thể gửi nhiều hơn của toàn bộ csv, tôi nghĩ rằng tôi biết làm thế nào để khắc phục vấn đề của bạn;) –
Bạn nên thay đổi csv của bạn thay thế các nhân vật tách từ ',' với ';' ví dụ ... –
@SaulloCastro: Tôi không thể làm điều đó bởi vì dữ liệu thực của tôi có nhiều lộn xộn hơn và có các chuỗi ký tự ';' và/hoặc bất kỳ ký tự nào khác mà bạn có thể nghĩ ra - đây chỉ là một ví dụ đồ chơi. Những gì tôi đang tìm kiếm là một giải pháp tổng quát hơn. – CraigO