Ví dụ từng bước sau đây cho thấy cách sử dụng chức năng này trong thực tế
Bước 1. Tạo Khung dữ liệu Pandas
Đầu tiên, hãy tạo một DataFrame gấu trúc
import pandas as pd #create DataFrame df = pd.DataFrame[{'points': [25, 12, 15, 14, 19, 23], 'assists': [5, 7, 7, 9, 12, 9], 'rebounds': [11, 8, 10, 6, 6, 5]}] #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5
Bước 2. Xuất Khung dữ liệu sang Tệp CSV
Tiếp theo, hãy xuất DataFrame sang tệp CSV
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]
Bước 3. Xem tệp CSV
Cuối cùng, chúng tôi có thể điều hướng đến vị trí mà chúng tôi đã xuất tệp CSV và xem nó
points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,5
Lưu ý rằng cột chỉ mục không có trong tệp vì chúng tôi đã chỉ định chỉ mục=Sai
Cũng lưu ý rằng các tiêu đề nằm trong tệp vì đối số mặc định trong hàm to_csv[] là headers=True
Pandas là một nguồn tài nguyên mạnh mẽ dành cho bạn với tư cách là Nhà khoa học dữ liệu. Pandas là một thư viện mã nguồn mở được xây dựng dựa trên thư viện NumPy. Nó cho phép người dùng phân tích nhanh, làm sạch dữ liệu và chuẩn bị dữ liệu hiệu quả. Pandas đã đóng cửa và nó có hiệu suất và năng suất cao cho người dùng. Pandas giống như phiên bản python của excel
Mặc dù bạn có thể đọc và ghi các tệp CSV bằng Python bằng hàm
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
1 tích hợp hoặc mô-đun csv chuyên dụng - bạn cũng có thể sử dụng PandasTrong bài viết này, bạn sẽ thấy cách sử dụng thư viện Pandas của Python để đọc và ghi tệp CSV
Tệp CSV là gì?
Hãy nhanh chóng tóm tắt lại tệp CSV là gì - không gì khác hơn là một tệp văn bản đơn giản, tuân theo một vài quy ước định dạng. Tuy nhiên, đây là phương pháp phổ biến nhất, đơn giản và dễ dàng nhất để lưu trữ dữ liệu dạng bảng. Định dạng này sắp xếp các bảng theo một cấu trúc cụ thể được chia thành các hàng và cột. Chính những hàng và cột này chứa dữ liệu của bạn
Một dòng mới kết thúc mỗi hàng để bắt đầu hàng tiếp theo. Tương tự, dấu phân cách, thường là dấu phẩy, phân tách các cột trong mỗi hàng
Ví dụ: chúng ta có thể có một bảng trông như thế này
| City | State | Capital | Population |
| ------------ | ------------ | ------- | ------------- |
| Philadelphia | Pennsylvania | No | 1.581 Million |
| Sacramento | California | Yes | 0.5 Million |
| New York | New York | No | 8.623 Million |
| Austin | Texas | Yes | 0.95 Million |
| Miami | Florida | No | 0.463 Million |
Nếu chúng tôi chuyển đổi nó sang định dạng CSV, nó sẽ trông như thế này
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
Mặc dù tên [Giá trị được phân tách bằng dấu phẩy] vốn đã sử dụng dấu phẩy làm dấu phân cách, nhưng bạn cũng có thể sử dụng các dấu phân cách [dấu phân cách] khác, chẳng hạn như dấu chấm phẩy [
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
2]. Mỗi hàng của bảng là một dòng mới của tệp CSV và đó là một cách rất ngắn gọn và súc tích để biểu thị dữ liệu dạng bảngBây giờ, hãy xem hàm
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
3Đọc và ghi tệp CSV bằng Pandas
Pandas là một khung rất mạnh mẽ và phổ biến để phân tích và thao tác dữ liệu. Một trong những tính năng nổi bật nhất của Pandas là khả năng đọc và ghi nhiều loại tệp khác nhau bao gồm CSV và Excel. Bạn có thể thao tác các tệp CSV một cách hiệu quả và dễ dàng trong Pandas bằng các chức năng như
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
3 và import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
5Cài đặt gấu trúc
Chúng tôi phải cài đặt Pandas trước khi sử dụng nó. Hãy sử dụng
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
6#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]1
Đọc tệp CSV bằng read_csv[]
Hãy nhập Bộ dữ liệu Titanic, có thể lấy trên GitHub
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
Theo lẽ tự nhiên, gấu trúc sẽ tìm kiếm tệp này trong thư mục của tập lệnh và chúng tôi chỉ cung cấp đường dẫn tệp cho tệp mà chúng tôi muốn phân tích dưới dạng đối số bắt buộc duy nhất của phương pháp này
Hãy xem
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
7 của tập dữ liệu này để đảm bảo rằng nó được nhập chính xác#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]4
Kết quả này trong
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]5
Ngoài ra, bạn cũng có thể đọc các tệp CSV từ các tài nguyên trực tuyến, chẳng hạn như GitHub, chỉ bằng cách chuyển URL của tài nguyên tới hàm
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
3. Trước tiên, hãy đọc tệp CSV này từ kho lưu trữ GitHub mà không cần tải tệp xuống máy cục bộ của chúng tôi#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]7
Điều này cũng dẫn đến
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]8
Theo mặc định, phương pháp
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
3 sử dụng hàng đầu tiên của tệp CSV làm tiêu đề cột. Đôi khi, những tiêu đề này có thể có tên lạ và bạn có thể muốn sử dụng tiêu đề của riêng mình. Bạn có thể đặt tiêu đề sau khi đọc tệp, chỉ cần gán trường #export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]40 của phiên bản
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 vào một danh sách khác hoặc bạn có thể đặt tiêu đề trong khi đọc CSV ngay từ đầu
Hãy xác định danh sách tên cột và sử dụng các tên đó thay vì tên từ tệp CSV
points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,52
Hãy chạy mã này
points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,53
Hmm, bây giờ chúng tôi đã có các tiêu đề tùy chỉnh của mình, nhưng hàng đầu tiên của tệp CSV, ban đầu được sử dụng để đặt tên cột cũng được bao gồm trong
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41. Chúng tôi sẽ muốn bỏ qua dòng này, vì nó không còn giữ bất kỳ giá trị nào đối với chúng tôi nữa
Bỏ qua hàng khi đọc CSV
Hãy giải quyết vấn đề này bằng cách sử dụng đối số
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]43
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
0Bây giờ, hãy chạy mã này
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
1Hoạt động như một nét duyên dáng. Đối số
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]43 chấp nhận danh sách các hàng bạn muốn bỏ qua. Bạn có thể bỏ qua, ví dụ,
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]45 nếu bạn cũng muốn
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
2Điều này sẽ dẫn đến một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 không có một số hàng mà chúng ta đã thấy trước đây
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
3Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
Hãy nhớ rằng việc bỏ qua các hàng xảy ra trước khi
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 được hình thành đầy đủ, vì vậy bạn sẽ không thiếu bất kỳ chỉ mục nào của chính
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41, tuy nhiên, trong trường hợp này, bạn có thể thấy rằng trường
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]49 [được nhập từ tệp CSV] bị thiếu
Bạn cũng có thể quyết định loại bỏ hoàn toàn tiêu đề, điều này sẽ dẫn đến một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 chỉ có các cột tiêu đề
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]53, bằng cách đặt đối số
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]54 thành
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]55
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
4Bạn cũng sẽ muốn bỏ qua hàng đầu tiên ở đây, vì nếu không, các giá trị từ hàng đầu tiên sẽ thực sự được đưa vào hàng đầu tiên
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
5Chỉ định dấu phân cách
Như đã nêu trước đó, cuối cùng bạn có thể gặp một tệp CSV không thực sự sử dụng dấu phẩy để phân tách dữ liệu. Trong những trường hợp như vậy, bạn có thể sử dụng đối số
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]56 để chỉ định các dấu phân cách khác
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
6Viết tệp CSV bằng to_csv[]
Một lần nữa,
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 là dạng bảng. Biến một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 thành một tệp CSV cũng đơn giản như chuyển một tệp CSV thành một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 - chúng tôi gọi hàm
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]70 trên phiên bản
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41
Khi ghi
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 vào tệp CSV, bạn cũng có thể thay đổi tên cột, sử dụng đối số ________ 140 hoặc chỉ định dấu phân cách thông qua đối số ________ 156. Nếu bạn không chỉ định một trong hai điều này, thì bạn sẽ nhận được tệp Giá trị được phân tách bằng dấu phẩy chuẩn
Hãy chơi xung quanh với điều này
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
7Ở đây, chúng tôi đã tạo một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 đơn giản với hai thành phố và các tiểu bang tương ứng của chúng. Sau đó, chúng tôi đã tiếp tục và lưu dữ liệu đó vào tệp CSV bằng cách sử dụng
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
5 và cung cấp tên tệpĐiều này dẫn đến một tệp mới trong thư mục làm việc của tập lệnh bạn đang chạy, chứa
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
8Mặc dù, điều này không thực sự được định dạng tốt. Chúng tôi vẫn có các chỉ mục từ
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41, điều này cũng đặt một vị trí bị thiếu kỳ lạ trước tên cột. Nếu chúng tôi nhập lại tệp CSV này vào
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41, nó sẽ trở thành một mớ hỗn độn
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
9Kết quả này trong
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]10
Các chỉ số từ
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 cuối cùng trở thành một cột mới, hiện là
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]80
Khi lưu tệp, hãy đảm bảo bỏ chỉ mục của
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]11
Bây giờ, điều này dẫn đến một tệp có chứa
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]12
Hoạt động như một nét duyên dáng. Nếu chúng tôi nhập lại và in nội dung, thì
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 được xây dựng tốt
City,State,Capital,Population
Philadelphia,Pennsylvania,No,1.581 Million
Sacramento,California,Yes,0.5 Million
New York,New York,No,8.623 Million
Austin,Texas,Yes,0.95 Million
Miami,Florida,No,0.463 Million
9Kết quả này trong
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]14
Hãy thay đổi tiêu đề cột từ tiêu đề mặc định
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]15
Chúng tôi đã tạo một danh sách
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]83, chứa các giá trị khác nhau cho các cột của chúng tôi. Sau đó, sử dụng đối số
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]54, chúng tôi đã đặt những tên này thay vì tên cột ban đầu. Điều này tạo ra một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]85 với những nội dung này
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]16
Tùy chỉnh dấu phân cách
Hãy thay đổi dấu phân cách từ giá trị mặc định [
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]86] thành giá trị mới
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]17
Điều này dẫn đến một tệp
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]85 có chứa
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]18
Xử lý các giá trị bị thiếu
Đôi khi, các
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]41 có các giá trị bị thiếu mà chúng tôi để lại là
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]89 hoặc
points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,520. Trong những trường hợp như vậy, bạn có thể muốn định dạng chúng khi viết chúng ra tệp CSV. Bạn có thể sử dụng đối số
points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,521 và đặt giá trị được đặt thay vì giá trị bị thiếu
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]19
Ở đây, chúng ta có hai cặp thành phố-bang hợp lệ, nhưng
points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,522 thiếu trạng thái của nó. Nếu chúng tôi chạy mã này, nó sẽ dẫn đến một
#export DataFrame to CSV file df.to_csv[r'C:\Users\Bob\Desktop\my_data.csv', index=False]85 với các nội dung sau
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
0Sự kết luận
Bài viết hướng dẫn cách đọc và ghi file CSV bằng thư viện Pandas của Python. Để đọc tệp CSV, phương pháp
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
3 của thư viện Pandas được sử dụng. Bạn cũng có thể chuyển tên tiêu đề tùy chỉnh trong khi đọc tệp CSV thông qua thuộc tính points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,525 của phương thức
import pandas as pd
titanic_data = pd.read_csv['titanic.csv']
3. Cuối cùng, để ghi tệp CSV bằng Pandas, trước tiên bạn phải tạo đối tượng Pandas DataFrame và sau đó gọi phương thức points,assists,rebounds 25,5,11 12,7,8 15,7,10 14,9,6 19,12,6 23,9,527 trên DataFrame