Hướng dẫn what are csv files explain with an example in python? - Các tệp csv giải thích với một ví dụ trong python là gì?
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Đọc và viết các tệp CSV This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Reading and Writing CSV Files Show
Hãy để đối mặt với nó: Bạn cần phải có được thông tin vào và ra khỏi các chương trình của mình thông qua nhiều hơn chỉ là bàn phím và bảng điều khiển. Trao đổi thông tin thông qua các tệp văn bản là một cách phổ biến để chia sẻ thông tin giữa các chương trình. Một trong những định dạng phổ biến nhất để trao đổi dữ liệu là định dạng CSV. Nhưng làm thế nào để bạn sử dụng nó? Hãy để một điều rõ ràng: bạn không phải (và bạn đã thắng) xây dựng trình phân tích cú pháp CSV của riêng bạn từ đầu. Có một số thư viện hoàn toàn chấp nhận được bạn có thể sử dụng. Thư viện Python 5 sẽ hoạt động cho hầu hết các trường hợp. Nếu công việc của bạn yêu cầu nhiều dữ liệu hoặc phân tích số, thư viện 6 cũng có khả năng phân tích cú pháp CSV, nên xử lý phần còn lại.Trong bài viết này, bạn sẽ học cách đọc, xử lý và phân tích CSV từ các tệp văn bản bằng Python. Bạn sẽ thấy cách thức hoạt động của các tệp CSV, tìm hiểu thư viện 5 quan trọng được tích hợp vào Python và xem cách phân tích cú pháp CSV hoạt động bằng thư viện 6.Vậy hãy bắt đầu! Tệp CSV là gì?Tệp CSV (tệp giá trị phân tách bằng dấu phẩy) là một loại tệp văn bản thuần túy sử dụng cấu trúc cụ thể để sắp xếp dữ liệu bảng. Bởi vì nó là một tệp văn bản đơn giản, nó chỉ có thể chứa dữ liệu văn bản thực tế nói cách khác, có thể in các ký tự ASCII hoặc Unicode. Cấu trúc của một tệp CSV được đưa ra bằng tên của nó. Thông thường, các tệp CSV sử dụng dấu phẩy để phân tách từng giá trị dữ liệu cụ thể. Ở đây, cấu trúc đó trông như thế nào:
Lưu ý cách mỗi phần dữ liệu được phân tách bằng dấu phẩy. Thông thường, dòng đầu tiên xác định từng phần dữ liệu, nói cách khác, tên của một cột dữ liệu. Mỗi dòng tiếp theo sau đó là dữ liệu thực tế và chỉ bị giới hạn bởi các ràng buộc kích thước tệp. Nói chung, ký tự phân tách được gọi là dấu phân cách và dấu phẩy không phải là người duy nhất được sử dụng. Các phân định phổ biến khác bao gồm các ký tự Tab ( 9), Đại tràng ( 0) và Semi-Colon ( 1). Phân tích đúng tệp CSV yêu cầu chúng tôi biết dấu phân cách nào đang được sử dụng.Các tệp CSV đến từ đâu?Các tệp CSV thường được tạo bởi các chương trình xử lý một lượng lớn dữ liệu. Chúng là một cách thuận tiện để xuất dữ liệu từ bảng tính và cơ sở dữ liệu cũng như nhập hoặc sử dụng nó trong các chương trình khác. Ví dụ: bạn có thể xuất kết quả của chương trình khai thác dữ liệu sang tệp CSV và sau đó nhập nó vào bảng tính để phân tích dữ liệu, tạo biểu đồ cho bản trình bày hoặc chuẩn bị báo cáo để xuất bản. Các tệp CSV rất dễ làm việc với chương trình. Bất kỳ ngôn ngữ nào hỗ trợ đầu vào tệp văn bản và thao tác chuỗi (như Python) có thể hoạt động trực tiếp với các tệp CSV. Phân tích các tệp CSV với thư viện CSV tích hợp PythonThư viện 5 cung cấp chức năng cho cả đọc và ghi vào các tệp CSV. Được thiết kế để hoạt động ngoài hộp với các tệp CSV do Excel tạo, nó dễ dàng điều chỉnh để hoạt động với nhiều định dạng CSV khác nhau. Thư viện 5 chứa các đối tượng và mã khác để đọc, ghi và xử lý dữ liệu từ và đến các tệp CSV.Đọc các tệp CSV với import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 5Đọc từ tệp CSV được thực hiện bằng đối tượng 5. Tệp CSV được mở dưới dạng tệp văn bản với chức năng 6 tích hợp của Python, trả về một đối tượng tệp. Điều này sau đó được chuyển cho 5, nơi thực hiện công việc nặng nhọc.Tại đây, tệp 8:
Đây là mã để đọc nó:
Điều này dẫn đến đầu ra sau:
Mỗi hàng được trả về bởi 5 là danh sách các phần tử 0 chứa dữ liệu được tìm thấy bằng cách loại bỏ các dấu phân cách. Hàng đầu tiên được trả về chứa các tên cột, được xử lý theo một cách đặc biệt.Đọc các tệp CSV thành một từ điển với import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 5Thay vì xử lý một danh sách các yếu tố 0 riêng lẻ, bạn có thể đọc dữ liệu CSV trực tiếp vào một từ điển (về mặt kỹ thuật, từ điển được đặt hàng).Một lần nữa, tệp đầu vào của chúng tôi, 8 như sau:
Tại đây, mã để đọc nó như một từ điển lần này:
Điều này dẫn đến cùng một đầu ra như trước:
Các phím từ điển đến từ đâu? Dòng đầu tiên của tệp CSV được giả sử chứa các khóa để sử dụng để xây dựng từ điển. Nếu bạn không có những thứ này trong tệp CSV của mình, bạn nên chỉ định các khóa của riêng mình bằng cách đặt tham số tùy chọn 4 vào danh sách chứa chúng.Tùy chọn Python CSV Column names are name, department, birthday month John Smith works in the Accounting department, and was born in November. Erica Meyers works in the IT department, and was born in March. Processed 3 lines. 5 tham sốĐối tượng 5 có thể xử lý các kiểu khác nhau của các tệp CSV bằng cách chỉ định các tham số bổ sung, một số trong đó được hiển thị bên dưới:
Những thông số này xứng đáng được giải thích thêm. Giả sử bạn làm việc với tệp 2 sau:
Tệp CSV này chứa ba trường: 3, 4 và 5, được phân định bởi dấu phẩy. Vấn đề là dữ liệu cho trường 4 cũng chứa dấu phẩy để biểu thị mã zip.Có ba cách khác nhau để xử lý tình huống này:
Viết các tệp CSV bằng import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 5Bạn cũng có thể ghi vào tệp CSV bằng đối tượng 1 và phương thức 2:
Tham số tùy chọn 9 cho biết 1 nhân vật nào sẽ sử dụng để trích dẫn các trường khi viết. Tuy nhiên, việc trích dẫn có được sử dụng hay không được xác định bởi tham số tùy chọn 5:
Đọc lại tệp trong văn bản đơn giản cho thấy tệp được tạo như sau:
Viết tệp CSV từ một từ điển với import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 5Vì bạn có thể đọc dữ liệu của chúng tôi vào một từ điển, nên chỉ công bằng rằng bạn cũng có thể viết nó từ một từ điển: 0Không giống như 3, tham số 4 là bắt buộc khi viết từ điển. Điều này có ý nghĩa, khi bạn nghĩ về nó: Không có danh sách 4, 6 có thể biết các khóa nào sẽ sử dụng để truy xuất các giá trị từ từ điển của bạn. Nó cũng sử dụng các phím trong 4 để ghi ra hàng đầu tiên dưới dạng tên cột.Mã trên tạo tệp đầu ra sau: 1Phân tích các tệp CSV với thư viện import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 6Tất nhiên, thư viện Python CSV không phải là trò chơi duy nhất trong thị trấn. Đọc các tệp CSV cũng có thể trong 6. Rất khuyến khích nếu bạn có nhiều dữ liệu để phân tích. 6 là một thư viện Python nguồn mở cung cấp các công cụ phân tích dữ liệu hiệu suất cao và dễ sử dụng các cấu trúc dữ liệu. 6 có sẵn cho tất cả các cài đặt Python, nhưng nó là một phần quan trọng của phân phối Anaconda và hoạt động rất tốt trong các máy tính xách tay Jupyter để chia sẻ dữ liệu, mã, kết quả phân tích, trực quan hóa và văn bản tường thuật.Cài đặt 6 và các phụ thuộc của nó trong 3 dễ dàng thực hiện:Như đang sử dụng ________ 94/________ 95 cho các cài đặt Python khác: Chúng tôi đã giành chiến thắng trong các chi tiết cụ thể về cách thức hoạt động của 6 hoặc cách sử dụng nó. Để điều trị chuyên sâu về việc sử dụng 6 để đọc và phân tích các bộ dữ liệu lớn, hãy xem bài viết tuyệt vời của Chaiwari Tiwari, làm việc với các tệp excel lớn trong gấu trúc.Đọc các tệp CSV với import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 6Để hiển thị một số sức mạnh của các khả năng CSV 6, tôi đã tạo ra một tệp phức tạp hơn một chút để đọc, được gọi là 00. Nó chứa dữ liệu về nhân viên công ty: 2Đọc CSV thành A 6 02 rất nhanh và đơn giản: 3
Rằng nó: ba dòng mã và chỉ một trong số chúng đang thực hiện công việc thực tế. 03 mở, phân tích và đọc tệp CSV được cung cấp và lưu trữ dữ liệu trong DataFrame. In kết quả 02 trong đầu ra sau: 4Dưới đây là một vài điểm đáng chú ý:
Hãy để giải quyết vấn đề này một lần. Để sử dụng một cột khác làm chỉ mục 02, hãy thêm tham số tùy chọn 14: 6Bây giờ trường 15 là chỉ mục 02 của chúng tôi: 7Tiếp theo, hãy để sửa lỗi loại dữ liệu của trường 11. Bạn có thể buộc 6 phải đọc dữ liệu như một ngày với tham số tùy chọn 19, được định nghĩa là danh sách các tên cột để xử lý là ngày: 8Lưu ý sự khác biệt trong đầu ra: 9Ngày hiện được định dạng đúng, dễ dàng xác nhận ở chế độ tương tác: >>> 0Hãy để giải quyết vấn đề này một lần. Để sử dụng một cột khác làm chỉ mục 02, hãy thêm tham số tùy chọn 14: 1Bây giờ trường 15 là chỉ mục 02 của chúng tôi: 2Tiếp theo, hãy để sửa lỗi loại dữ liệu của trường name,department,birthday month John Smith,Accounting,November Erica Meyers,IT,March 11. Bạn có thể buộc import csv with open('employee_birthday.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') line_count = 0 for row in csv_reader: if line_count == 0: print(f'Column names are {", ".join(row)}') line_count += 1 else: print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.') line_count += 1 print(f'Processed {line_count} lines.') 6 phải đọc dữ liệu như một ngày với tham số tùy chọn name,department,birthday month John Smith,Accounting,November Erica Meyers,IT,March 19, được định nghĩa là danh sách các tên cột để xử lý là ngày:Lưu ý sự khác biệt trong đầu ra: 3Ngày hiện được định dạng đúng, dễ dàng xác nhận ở chế độ tương tác: 4Nếu các tệp CSV của bạn không có tên cột trong dòng đầu tiên, bạn có thể sử dụng tham số tùy chọn name,department,birthday month John Smith,Accounting,November Erica Meyers,IT,March 20 để cung cấp danh sách các tên cột. Bạn cũng có thể sử dụng điều này nếu bạn muốn ghi đè các tên cột được cung cấp trong dòng đầu tiên. Trong trường hợp này, bạn cũng phải nói với name,department,birthday month John Smith,Accounting,November Erica Meyers,IT,March 03 để bỏ qua các tên cột hiện có bằng tham số tùy chọn name,department,birthday month John Smith,Accounting,November Erica Meyers,IT,March 22:Lưu ý rằng, vì các tên cột đã thay đổi, các cột được chỉ định trong các tham số tùy chọn 14 và 19 cũng phải được thay đổi. Điều này bây giờ dẫn đến đầu ra sau:Viết các tệp CSV bằng 6Tất nhiên, nếu bạn có thể lấy dữ liệu của mình ra khỏi 6 một lần nữa, thì điều đó không tốt cho bạn. Viết một 02 vào tệp CSV cũng dễ dàng như đọc một tệp. Hãy viết dữ liệu với tên cột mới vào tệp CSV mới:Sự khác biệt duy nhất giữa mã này và mã đọc ở trên là cuộc gọi Các tệp CSV giải thích với một ví dụ là gì?Tệp CSV là danh sách dữ liệu được phân tách bằng dấu phẩy. Chẳng hạn, nó có thể trông giống như sau: tên, email, số điện thoại, địa chỉ. Ví dụ, ví dụ@example.com, 555-555-5555, địa chỉ ví dụ.a list of data separated by commas. For instance, it may look like the following: Name,email,phone number,address. Example,[email protected],555-555-5555,Example Address.
Các tệp CSV trong Python là gì?Tệp CSV (tệp giá trị phân tách bằng dấu phẩy) là một loại tệp văn bản thuần túy sử dụng cấu trúc cụ thể để sắp xếp dữ liệu bảng.Bởi vì đó là một tệp văn bản đơn giản, nó chỉ có thể chứa dữ liệu văn bản thực tế nói cách khác, có thể in các ký tự ASCII hoặc Unicode.Cấu trúc của một tệp CSV được đưa ra bằng tên của nó.a type of plain text file that uses specific structuring to arrange tabular data. Because it's a plain text file, it can contain only actual text data—in other words, printable ASCII or Unicode characters. The structure of a CSV file is given away by its name.
Làm thế nào bạn sẽ tạo một tệp CSV trong Python đưa ra ví dụ phù hợp?Các bước để viết tệp CSV trước, hãy mở tệp CSV để ghi (chế độ W) bằng cách sử dụng hàm Open ().Thứ hai, tạo đối tượng người viết CSV bằng cách gọi hàm writer () của mô -đun CSV.Thứ ba, ghi dữ liệu vào tệp CSV bằng cách gọi phương thức Writerow () hoặc Writerows () của đối tượng Writer CSV.open the CSV file for writing ( w mode) by using the open() function. Second, create a CSV writer object by calling the writer() function of the csv module. Third, write data to CSV file by calling the writerow() or writerows() method of the CSV writer object.
CSV giải thích ngắn gọn là gì?Tệp CSV (giá trị phân tách bằng dấu phẩy) là một tệp văn bản có định dạng cụ thể cho phép dữ liệu được lưu theo định dạng có cấu trúc bảng.comma-separated values) file is a text file that has a specific format which allows data to be saved in a table structured format. |