Hướng dẫn python csv reader - trình đọc csv python
Nội dung chính Show
Hướng dẫn cách xử lý file CSV trong python. Bạn sẽ học được cách đọc file csv trong python dưới dạng list bằng hàm csv.reader hay dưới dạng dictionary bằng class csv.DictReader. Bạn cũng sẽ học được cách mở file csv trong python với các trường hợp đặc biệt như mở file CSV chứa dấu ngoặc kép, chứa header v.v.., qua đó có thể lấy giá trị của hàng, cột và cell trong file csv python sau bài học này.xử lý file CSV trong python. Bạn sẽ học được cách đọc file csv trong python dưới dạng list bằng hàm csv.reader hay dưới dạng dictionary bằng class csv.DictReader. Bạn cũng sẽ học được cách mở file csv trong python với các trường hợp đặc biệt như mở file CSV chứa dấu ngoặc kép, chứa header v.v.., qua
đó có thể lấy giá trị của hàng, cột và cell trong file csv python sau bài học này. Trước khi đọc file trong pythonĐể đọc file csv trong python, trước hết chúng ta cần mở file đó bằng hàm open() hoặc bằng câu lệnh with mà Kiyoshi đã hướng dẫn trong bài Mở và đóng file trong python. Sau khi mở file và thu về một object file, chúng ta có thể sử dụng tới phương thức read để đọc file csv này như các loại file text khác trong python. Giả sử chúng ta có file import csv8 trong thư mục import csv9 với nội dung sau đây: Chúng ta sẽ mở file csv này và thu về file object gồm nội dung file csv dưới dạng txt như sau: with open('./user/user.csv') as f: Bạn có thể thấy các giá trị trong nội dung file csv dưới dạng txt được phân cách bởi dấu phẩy import csv0 trong ví dụ trên. Về cơ bản thì đến bước này là chúng ta đã đọc xong file csv trong python rồi, tuy nhiên do kết quả đọc chỉ dưới dạng txt rất khó thao tác, nên chúng ta cần chuyển kết quả này về dạng list thông qua hàm csv.reader, hoặc dạng dictionary thông qua class csv.DictReader để có thể dễ dàng thực hiện các thao tác xử lý nội dung file csv. Và để làm được điều đó thì chúng ta cần sử dụng tới hàm csv.reader() trong module csv. Đọc file csv trong python | csv.reader()Hàm csv.reader trong PythonĐọc file csv và lưu kết quả dưới dạng list bằng hàm csv.reader() Lấy giá trị của hàng, cột và cell chỉ định trong file csv Chỉ định dấu phân cách delimiter import csv Xử lý dấu ngoặc kép csv.reader(f) Đọc file CSV dưới dạng dictionary trong python | csv.DictReader Đọc file csv và lưu kết quả dưới dạng dictionary Tổng kết và thực hành import csv Đọc file csv và lưu kết quả dưới dạng list bằng hàm csv.reader()Lấy giá trị của hàng, cột và cell chỉ định trong file csv Chỉ định dấu phân cách delimiter Xử lý dấu ngoặc kép Đọc file CSV dưới dạng dictionary trong python | csv.DictReader import csv Đọc file csv và lưu kết quả dưới dạng dictionary Tổng kết và thực hành with open('data/src/sample.csv') as f: Lấy giá trị của hàng, cột và cell chỉ định trong file csvChỉ định dấu phân cách delimiter print(l[0]) Xử lý dấu ngoặc kép print(l[0][0]) Đọc file CSV dưới dạng dictionary trong python | csv.DictReader l_hoandoi = [list(x) for x in zip(*l)] Đọc file csv và lưu kết quả dưới dạng dictionary print(l[1][1]) Chỉ định dấu phân cách delimiterVề mặc định, Class csv.reader() dùng dấu phẩy import csv0 làm dấu phân cách khi đọc file csv trong python. Và dấu phẩy import csv0 cũng được coi là dấu phân cách mặc định cho các file CSV.Tuy nhiên trong một số file CSV có thể dùng dấu khác để thay dấu phẩy làm dấu phân cách, khi đó để đọc được file csv này trong python, chúng ta cần thay đổi dấu phân cách bằng cách thay đổi giá trị đối số import csv4.Class csv.reader() dùng dấu phẩy import csv0 làm dấu phân cách khi đọc file csv trong python. Và dấu phẩy import csv0 cũng được coi là dấu phân cách mặc định cho các file CSV. Tuy nhiên trong một số file CSV có thể dùng dấu khác để thay dấu phẩy làm dấu phân cách, khi đó để đọc được file csv này trong python, chúng ta cần thay đổi dấu phân cách bằng cách thay đổi giá trị đối số import csv4. Ví dụ chúng ta cần đọc một file CSV có dấu phân cách là dấu cách như sau: with open('./client/sample_space.txt') as f: Để đọc được file CSV dạng này, chúng ta chỉ định import csv5 như sau: import csv0 Tương tự nếu gặp phải file CSV có định dạng dấu phân cách dưới dạng tab, chúng ta đơn giản chỉ định import csv6 là xong. Xử lý dấu ngoặc képTrong một số file CSV, các giá trị cột được lưu giữ cùng với dấu ngoặc kép import csv7 như sau: import csv1 Trong trường hợp này, về mặc định thì Class csv.reader() giúp chúng ta bỏ đi các dấu ngoặc kép mà chỉ giữ lại phần giá trị ở giữa mà thôi, nên bạn không cần phải chú ý thêm. import csv2 Tuy nhiên trong trường hợp bạn cần giữ lại các dấu ngoặc kép đó trong kết quả, hãy chỉ định thêm đối số import csv8 khi đọc file csv trong python như sau: import csv3 Trong một số file CSV có chứa header như sau: Sau khi mở file dưới dạng txt, kết quả như sau: import csv4 Bạn có thể thấy dòng header trong file sẽ bắt đầu bởi một dấu phẩy import csv0. Cách đọc file csv dạng này trong python cũng không có gì thay đổi đặc biệt cả, giống như ở phần trên chúng ta viết: import csv5 Điểm khác biệt duy nhất trong kết quả là một ký tự trống with open('data/src/sample.csv') as f:0 sẽ được thêm vào phần đầu kết quả mà thôi. Đọc file CSV dưới dạng dictionary trong python | csv.DictReaderĐọc file csv và lưu kết quả dưới dạng dictionaryỞ phần trên chúng ta đã học cách đọc file CSV dưới dạng list bằng hàm csv.reader() rồi.Ngoài cách trên, chúng ta còn có thể đọc file CSV dưới dạng dictionary trong python bằng class csv.DictReader với cách viết như sau: import csv6 Ví dụ, chúng ta có file csv với nội dung sau đây: with open('./user/user.csv') as f: Khi đọc file CSV trong python bằng class csv.DictReader, về mặc định thì các giá trị trong hàng đầu tiên của file sẽ trở thành key của dictionary. import csv8 Kết quả, một dictionary được trả về. import csv9 Sau đó, bằng cách Chỉ định khóa và lấy giá trị trong dictionary python, chúng ta có thể lấy giá trị của các hàng, cột và cell theo ý muốn như sau: import csv0 Trong trường hợp file CSV không có hàng header, hoặc chúng ta muốn dùng giá trị key khác, hãy chỉ định đối số with open('data/src/sample.csv') as f:1 khi đọc file csv bằng class csv.DictReader như sau: import csv1 Kết quả: import csv2 Trong trường hợp file CSV có chứa header, ví dụ : Sau khi mở file dưới dạng txt, kết quả như sau: import csv4 Bạn có thể thấy dòng header trong file sẽ bắt đầu bởi một dấu phẩy import csv0. Cách đọc file csv dạng này trong python cũng không có gì thay đổi đặc biệt cả, giống như ở phần trên chúng ta viết: import csv4 Kết quả: import csv5 Trong trường hợp file CSV có chứa header, ví dụ : import csv6 Kết quả: import csv7 Trong trường hợp file CSV có chứa header, ví dụ :Khi chúng ta mở file CSV này bằng class csv.DictReader, ký tự trắng with open('data/src/sample.csv') as f:2 sẽ trở thành một key trong kết quả như sau:đọc file csv trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Để xóa đi ký tự trắng này trong kết quả, hãy sử dụng kèm lệnh Xóa phần tử trong dictionary python như sau: Tổng kết và thực hành Trên đây Kiyoshi đã hướng dẫn bạn về cách đọc file csv trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.>> python cơ bản - lập trình python cho người mới bắt đầu>>17. csv excel json xml pdf Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>17. csv excel json xml pdfBài sau |