CSV là tệp giá trị được phân tách bằng dấu phẩy có. tiện ích mở rộng csv, cho phép lưu dữ liệu ở định dạng bảng.
Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi dữ liệu của chuỗi CSV thành mảng đối tượng 2D, trong đó hàng đầu tiên của chuỗi là hàng tiêu đề bằng JavaScript
Đưa ra một chuỗi giá trị được phân tách bằng dấu phẩy [CSV] cho một mảng 2D, sử dụng hàm Javascript
Input: 'Name,Roll Number\nRohan,01\nAryan,02' Output: [ {Name: "Rohan", Roll Number: "01"}, {Name: "Aryan", Roll Number: "02"} ] // With delimiter ; Input: 'Name;Roll Number\nRohan;01\nAryan;02' Output: [ {Name: "Rohan", Roll Number: "01"}, {Name: "Aryan", Roll Number: "02"} ]
Chúng ta phải biết một số hàm nguyên mẫu mảng và chuỗi sẽ hữu ích trong vấn đề này
hàm indexOf. chuỗi. nguyên mẫu. hàm indexOf[] tìm chỉ mục của lần xuất hiện đầu tiên của chuỗi đối số trong chuỗi đã cho và giá trị được trả về nằm trong chỉ mục dựa trên 0
Thí dụ
str = 'How\nare\nyou?' str.indexOf['\n'];
đầu ra
3
chức năng lát. Mảng. nguyên mẫu. slice[] trả về một mảng mới chứa một phần của mảng mà nó được triển khai và mảng ban đầu vẫn giữ nguyên
Thí dụ.
['a','b','c','d'].slice[1]
đầu ra
['b','c','d']
chức năng bản đồ. Mảng. nguyên mẫu. phương thức map[] trả về một mảng mới với kết quả gọi một hàm được cung cấp trên mọi phần tử
Thí dụ
arr = [2, 4, 8, 16] // Dividing each element of the array by 2 newArr = arr.map[ item => item/2]
đầu ra
[1, 2, 4, 8]
chức năng chia. chuỗi. nguyên mẫu. Phương thức split[] được sử dụng để phân tách chuỗi đã cho thành một mảng các chuỗi bằng cách tách nó thành các chuỗi con bằng cách sử dụng dấu tách được chỉ định được cung cấp trong đối số
Thí dụ
str = "Geeks for Geeks" // Split the array when ' ' is located arr = str.split[' '];
đầu ra
Giảm chức năng. Mảng. nguyên mẫu. Phương thức reduce[] trong JavaScript được sử dụng để giảm mảng thành một giá trị duy nhất và thực thi hàm được cung cấp cho từng phần tử của mảng từ trái sang phải và giá trị trả về của hàm được lưu trữ trong bộ tích lũy
Thí dụ
arr = [2,4,6,8] // Here 0 is the initial value of the accumulator // while traversing, currentValue has been added arr.reduce[function[accumulator,currentValue]{ return accumulator+currentValue; },0]
đầu ra
str = 'How\nare\nyou?' str.indexOf['\n'];0
Tiếp cận
- Phương thức slice[] chuỗi JavaScript trích xuất các phần của chuỗi và trả về các phần được trích xuất trong một chuỗi mới lấy '\ n' là lần xuất hiện đầu tiên
- Giá trị dữ liệu được lưu trữ bằng cách sử dụng “\n” làm dấu phân cách
- Hàm map[] trong JavaScript sẽ lặp qua tất cả các giá trị của mảng giá trị tiêu đề và nối thêm từng đối tượng vào cuối mảng
- Biến “storeKeyValue” được sử dụng để lưu trữ từng khóa với các giá trị tương ứng
Thí dụ. Trong ví dụ này, chúng tôi sẽ chuyển đổi một giá trị được phân tách bằng dấu phẩy [CSV] thành một mảng javascript bằng cách sử dụng các phương thức slice[], map[], split[] và reduce[] của Javascript
Bạn có thể chuyển đổi tệp CSV thành mảng NumPy chỉ bằng cách gọi _______11_______5 với hai đối số. chuỗi
6 và chuỗiOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
7. Ví dụ: biểu thứcOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
8 trả về một mảng NumPy từOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
4 với các ký hiệu dấu phân cáchOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]0
Đây là một ví dụ
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]
đầu ra
[[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
Phương pháp 2. np. loadtxt[] với Tiêu đề
np. loadtxt[] + tiêu đề
Bạn có thể chuyển đổi tệp CSV có tiêu đề dòng đầu tiên thành mảng NumPy bằng cách gọi _____11_______5 với ba đối số.
6,OUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]3 để bỏ qua dòng đầu tiên [tiêu đề] và chuỗi
7. Ví dụ: biểu thứcOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]5 trả về một mảng NumPy từ
4 với các ký hiệu phân cáchOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]0 trong khi bỏ qua dòng đầu tiên
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]8 của hàm
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]9
Đây là một ví dụ
import numpy as np array = np.loadtxt['my_file.csv', skiprows=1, delimiter=','] print[array]
đầu ra
[[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
Phương pháp 3. Trình đọc CSV
Trình đọc CSV
Để chuyển đổi tệp CSV
4 thành danh sách các danh sách trong Python, hãy sử dụng phương phápOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
[[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
1 để tạo trình đọc tệp CSV. Sau đó chuyển đổi đối tượng kết quả thành một danh sách bằng hàm tạo [[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
2. Bước cuối cùng, bạn có thể chuyển đổi danh sách lồng nhau thành mảng NumPy bằng cách sử dụng hàm tạo [[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
3Đây là một ví dụ
import numpy as np import csv csv_filename = 'my_file.csv' with open[csv_filename] as f: reader = csv.reader[f] lst = list[reader] print[lst]
Đầu ra là danh sách các danh sách
[['9', '8', '7'], ['6', '5', '4'], ['3', '2', '1']]
Bây giờ, nếu bạn cần chuyển đổi nó thành một mảng NumPy, bạn chỉ cần sử dụng hàm
[[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
4 trên danh sách mới tạo như vậyarray = np.array[lst] print[array]
đầu ra
[['9' '8' '7']
['6' '5' '4']
['3' '2' '1']]
🌎 Hướng dẫn liên quan. Cách chuyển đổi CSV thành Danh sách Danh sách trong Python
Phương pháp 4. np. genfromtxt[]
np. genfromtxt[]
Bạn có thể chuyển đổi tệp CSV thành mảng NumPy chỉ bằng cách gọi _____18_______5 với hai đối số. chuỗi
6 và chuỗiOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
7. Ví dụ: biểu thứcOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
[[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
8 trả về một mảng NumPy từ 4 với ký hiệu dấu phân cáchOUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]0
Đây là một ví dụ
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]
đầu ra
[[9. 8. 7.]
[6. 5. 4.]
[3. 2. 1.]]
Phương pháp 5. Pandas read_csv[] và df. to_numpy[]
read_csv[] và df. to_numpy[]
Một cách nhanh chóng và hiệu quả để đọc CSV thành mảng NumPy là kết hợp hàm
import numpy as np array = np.loadtxt['my_file.csv', skiprows=1, delimiter=','] print[array]1 của Pandas để đọc tệp CSV đã cho thành DataFrame với hàm
import numpy as np array = np.loadtxt['my_file.csv', skiprows=1, delimiter=','] print[array]2 để chuyển đổi Pandas DataFrame thành mảng NumPy
Đây là một ví dụ
2OUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
đầu ra
3OUTPUT: 2D NumPy Array
[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
🌎 Hướng dẫn liên quan. 17 cách để đọc tệp CSV vào khung dữ liệu Pandas
Tóm lược
Chúng tôi đã thấy năm cách để chuyển đổi tệp CSV thành mảng 2D NumPy
- Phương pháp 1.
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]
9 - Phương pháp 2.
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]
9 với Tiêu đề - Phương pháp 3. Trình đọc CSV
- Phương pháp 4.
5[[9. 8. 7.] [6. 5. 4.] [3. 2. 1.]]
- Phương pháp 5. Gấu trúc
import numpy as np array = np.loadtxt['my_file.csv', skiprows=1, delimiter=','] print[array]
6 vàimport numpy as np array = np.loadtxt['my_file.csv', skiprows=1, delimiter=','] print[array]
7
Cách ưa thích của chúng tôi là
import numpy as np array = np.loadtxt['my_file.csv', delimiter=','] print[array]9 vì tính đơn giản và Pandas vì khả năng mở rộng của nó
Nhiều chuyển đổi CSV Python hơn
🐍 Tìm hiểu thêm. Tôi đã biên soạn một "hướng dẫn cuối cùng" trên blog Finxter để chỉ cho bạn phương pháp tốt nhất, tương ứng, để chuyển đổi tệp CSV thành JSON, Excel, từ điển, Parquet, danh sách, danh sách danh sách, danh sách bộ dữ liệu, tệp văn bản, DataFrame,
Chris
Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính
Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới
Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây