Computer >> Máy Tính >  >> Lập trình >> Python

Làm việc với các tệp csv trong Lập trình Python

Tệp CSV hoặc tệp giá trị được phân tách bằng dấu phẩy là một trong những tệp phẳng được sử dụng rộng rãi nhất để lưu trữ và lưu trữ dữ liệu trên các nền tảng. Các cột được phân tách bằng dấu phẩy và cũng có hàng tiêu đề tùy chọn sẽ cho biết tên của mỗi cột. Python có thể đọc các tệp CSV bằng cách sử dụng nhiều mô-đun. Trong bài viết này, chúng ta sẽ xem cách thư viện CSV trong python có thể được sử dụng để đọc và ghi tệp CSV. Chúng tôi cũng có thể xem thư viện gấu trúc onl để đọc tệp CSV.

Đọc tệp CSV bằng mô-đun csv

Chúng tôi có thể lấy tệp CSV từ (https://www.guru99.com/python-csv.html)

Ví dụ

 nhập csvwith open ('C:\\ iris.csv', 'rt') dưới dạng tệp:csv_rows =csv.reader (tệp) cho hàng trong csv_rows:print (row) 

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

 ['sepal.length', 'sepal.width', 'cánh hoa.length', 'cánh hoa.width', 'đa dạng'] ['5.1', ​​'3.5', '1.4', '.2', 'Setosa'] ['4.9', '3', '1.4', '.2', 'Setosa'] ['4.7', '3.2', '1.3', '.2', 'Setosa'] [' 4.6 ',' 3.1 ',' 1.5 ',' .2 ',' Setosa '] [' 5 ',' 3.6 ',' 1.4 ',' .2 ',' Setosa '] [' 5.4 ',' 3.9 ' , '1.7', '.4', 'Setosa'] ['4.6', '3.4', '1.4', '.3', 'Setosa'] …………………………… 

Đọc tệp CSV bằng Pandas

Thư viện Pandas cũng có thể được sử dụng để đọc các tệp csv. Nó có phương pháp đọc csv có thể được áp dụng trực tiếp bằng cách bỏ qua đường dẫn và tên tệp. Khi tệp được đọc, tệp sẽ trở thành một tập dữ liệu và sau đó chúng tôi có thể in các phần khác nhau của tập dữ liệu theo yêu cầu.

Ví dụ

 nhập gấu trúc dưới dạng pddatainput =pd.read_csv ('C:\\ iris.csv') print ("Cho giá trị tập dữ liệu:\ n", datainput) # kích thước của tập dữ liệu ("\ nKích thước của tập dữ liệu là:\ n ", datainput.shape) # in một vài hàng từ tập dữ liệu (" \ n in một vài hàng từ tập dữ liệu:\ n ", datainput [0:6]) 

Đầu ra

Chạy đoạn mã trên cung cấp cho chúng ta thông số sau -

 Cho các giá trị của tập dữ liệu:sepal.length sepal. width wing.length wing. width width0 5.1 3.5 1.4 0.2 Setosa1 4.9 3.0 1.4 0.2 Setosa2 4.7 3.2 1.3 0.2 Setosa3 4.6 3.1 1.5 0.2 Setosa4 5.0 3.6 1.4 0.2 Setosa .. ... ... ... ... ... 145 6.7 3.0 5.2 2.3 Virginica146 6.3 2.5 5.0 1.9 Virginica147 6.5 3.0 5.2 2.0 Virginica148 6.2 3.4 5.4 2.3 Virginica149 5.9 3.0 5.1 1.8 Virginica [150 hàng x 5 cột] Kích thước của tập dữ liệu là:(150, 5) in một vài hàng từ tập dữ liệu:sepal.leng th lá đài. chiều rộng cánh hoa. chiều dài cánh hoa. đa dạng chiều rộng0 5,1 3,5 1,4 0,2 Setosa1 4,9 3,0 1,4 0,2 Setosa2 4,7 3,2 1,3 0,2 Setosa3 4,6 3,1 1,5 0,2 Setosa4 5,0 3,6 1,4 0,2 Setosa5 5,4 3,9 1,7 0,4 Setosa 

Ghi tệp CSV bằng mô-đun csv

Để tạo tệp csv, chúng tôi sử dụng danh sách Python, chúng tôi khai báo một tập dữ liệu chứa mỗi hàng dưới dạng danh sách và tất cả các hàng là danh sách con trong danh sách ca sĩ lớn. Chúng tôi cũng tạo một tập dữ liệu khác chỉ đại diện cho hàng tiêu đề. Sau đó, chúng tôi sử dụng các phương thức khác nhau như writerow () và csv.writer để cuối cùng ghi tệp vào hệ thống cục bộ.

Ví dụ

 nhập csvdata =["Tháng", "1958", "1959", "1960"] x =[["JAN", 340, 360, 417], ["FEB", 318, 342, 391], ["MAR", 362, 406, 419], ["APR", 348, 396, 461], ["MAY", 363, 420, 472], ["JUN", 435, 472, 535], [" THÁNG 7 ", 491, 548, 622], [" AUG ", 505, 559, 606], [" SEP ", 404, 463, 508], [" OCT ", 359, 407, 461], [" NOV " , 310, 362, 390], ["DEC", 337, 405, 432],] y ="C:\\ years.csv" với mở (y, 'w') là cơ quan:z =csv.writer ( công việc) z.writerow (dữ liệu) z.writerows (x) 

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

 Tháng, 1958,1959,1960JAN, 340,360,417FEB, 318,342,391MAR, 362,406,419APR, 348,396,461MAY, 363,420,472JUN, 435,472,535JUL, 491,548,622AUG, 505,559,606SEP, 404,463,40540,332  Viết tệp CSV bằng gấu trúc  

Uisng pandas là chúng ta tạo một khung dữ liệu mà quốc gia là các hàng cũng như tiêu đề của các hàng. Sau đó, chúng tôi sử dụng phương thức to_csv để đặt tên tệp và đường dẫn làm tham số và chuyển dữ liệu đến tệp csv.

Ví dụ

 from pandas import DataFrameC ={'Month':['JAN', 'FEB', 'MAR'], '1958':['345', '435', '545'], '1959':[ '377', '135', '985'], '1960':['498', '354', '765'],} df =DataFrame (C, cột =["Tháng", "1958", " 1959 "," 1960 "]) export_csv =df.to_csv (r'C:\\ years_p.csv ', index =None, header =True) # ở đây bạn phải viết đường dẫn, nơi tệp kết quả sẽ được lưu trữprint (df) 

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

 Tháng 1958 1959 19600 JAN 345 ​​377 4981 FEB 435 135 3542 THÁNG 3 545 985 765