Python đọc hai cột từ tệp
Python là một ngôn ngữ tuyệt vời để thực hiện phân tích dữ liệu, chủ yếu là do hệ sinh thái tuyệt vời của các gói Python tập trung vào dữ liệu. Pandas là một trong những gói đó và giúp việc nhập và phân tích dữ liệu dễ dàng hơn nhiều Show
Hãy thảo luận về tất cả các cách khác nhau để chọn nhiều cột trong DataFrame của gấu trúc Phương pháp số 1. Phương pháp cơ bản Đưa ra một từ điển chứa thực thể Nhân viên làm khóa và danh sách các thực thể đó làm giá trị
Tệp được sử dụng. tài liệu Phương pháp 1. Sử dụng gấu trúc Ở đây, chúng ta có hàm read_csv() giúp đọc tệp CSV bằng cách tạo đối tượng của nó. Tên cột có thể được viết bên trong đối tượng này để truy cập vào một cột cụ thể, giống như khi chúng ta truy cập các phần tử của mảng. Thư viện Pandas có một chức năng có tên là tolist() chuyển đổi dữ liệu thành một danh sách có thể được sử dụng theo yêu cầu của chúng tôi. Vì vậy, chúng tôi sẽ sử dụng điều này để chuyển đổi dữ liệu cột thành danh sách. Cuối cùng, chúng tôi sẽ in danh sách Tiếp cận
Dưới đây là việc thực hiện Python3
đầu ra Phương pháp 2. Sử dụng mô-đun csv Trong phương pháp này, chúng tôi sẽ nhập thư viện csv và mở tệp ở chế độ đọc, sau đó chúng tôi sẽ sử dụng hàm DictReader() để đọc dữ liệu của tệp CSV. Hàm này giống như một trình đọc thông thường, nhưng nó ánh xạ thông tin tới một từ điển có khóa được cung cấp bởi tên cột và tất cả các giá trị dưới dạng khóa. Chúng tôi sẽ tạo các danh sách trống để chúng tôi có thể lưu trữ các giá trị trong đó. Cuối cùng, chúng tôi truy cập các giá trị chính và nối chúng vào danh sách trống và in danh sách đó Hiểu sự khác biệt giữa tên tệp, đối tượng tệp đã mở và dữ liệu được đọc từ tệp Có thể ghi đầu ra vào một tệp văn bản với định dạng đơn giản Tại sao chúng ta muốn đọc và ghi tệp?Khả năng mở và đọc trong các tệp cho phép chúng tôi làm việc với các tập dữ liệu lớn hơn, nơi không thể nhập từng giá trị và lưu trữ chúng một lần dưới dạng biến. Ghi tệp cho phép chúng tôi xử lý dữ liệu của mình và sau đó lưu kết quả đầu ra vào tệp để chúng tôi có thể xem sau Ngay bây giờ, chúng ta sẽ thực hành làm việc với tệp văn bản được phân cách bằng dấu phẩy (. csv) có chứa một số cột dữ liệu. Tuy nhiên, những gì bạn học được trong bài học này có thể được áp dụng cho bất kỳ tệp văn bản chung nào. Trong bài học tiếp theo, bạn sẽ học một cách khác để đọc và xử lý. dữ liệu csv Đường dẫn đến tệpĐể mở một tệp, chúng ta cần cho Python biết chính xác vị trí của tệp, liên quan đến nơi Python hiện đang làm việc (thư mục làm việc). Trong Spyder, chúng tôi có thể làm điều này bằng cách đặt thư mục làm việc hiện tại của chúng tôi thành thư mục chứa tệp. Hoặc, khi chúng tôi cung cấp tên tệp, chúng tôi có thể cung cấp đường dẫn đầy đủ tới tệp
Thiết lập tệpHãy mở và kiểm tra cấu trúc của tệp Plates_output_simple. csv. Nếu bạn mở tệp trong trình soạn thảo văn bản, bạn sẽ thấy tệp chứa nhiều dòng văn bản Tuy nhiên, điều này là khá khó đọc. Nếu bạn mở tệp trong một chương trình bảng tính chẳng hạn như LibreOfficeCalc hoặc Excel, bạn có thể thấy rằng tệp được sắp xếp thành các cột, với mỗi cột được phân tách bằng dấu phẩy trong hình trên (do đó có phần mở rộng tệp. csv, viết tắt của các giá trị được phân tách bằng dấu phẩy) Tệp chứa một hàng tiêu đề, theo sau là tám hàng dữ liệu. Mỗi hàng đại diện cho một hình ảnh tấm duy nhất. Nếu chúng ta nhìn vào các tiêu đề cột, chúng ta có thể thấy rằng chúng ta đã thu thập dữ liệu cho từng tấm
Chúng tôi sẽ đọc trong tệp dữ liệu này và sau đó làm việc để phân tích dữ liệu Mở và đọc tệp là một quy trình gồm ba bướcChúng tôi sẽ mở và đọc tệp theo ba bước
Và sau đó, còn một bước nữa để làm
Bạn có thể coi ba bước này tương tự như việc mượn một cuốn sách từ thư viện. Đầu tiên, bạn phải vào danh mục hoặc cơ sở dữ liệu để tìm cuốn sách bạn cần (tên tệp). Sau đó, bạn phải lấy nó ra khỏi giá và mở sách lên (chức năng mở). Cuối cùng, để có được bất kỳ thông tin nào từ cuốn sách, bạn phải đọc các từ (chức năng đọc) Dưới đây là một ví dụ về mở, đọc và đóng tệp
Khi chúng tôi đã đọc dữ liệu trong tệp thành dữ liệu biến của mình, chúng tôi có thể coi nó như bất kỳ biến nào khác trong mã của chúng tôi
Các lệnh đọc trong tệpCó nhiều lệnh cho phép chúng ta đọc dữ liệu từ tệp 6 sẽ đọc toàn bộ tệp dưới dạng một chuỗi văn bản 7 sẽ đọc từng dòng một (mỗi lần bạn gọi lệnh này, nó sẽ đọc ở dòng tiếp theo) 8 sẽ đọc tất cả các dòng thành một danh sách, trong đó mỗi dòng của tệp là một mục trong danh sáchTrộn các lệnh này có thể có một số kết quả không mong muốn
Lưu ý rằng lệnh 6 bắt đầu ở dòng thứ ba của tệp, nơi hai lệnh 7 đầu tiên bị bỏ dởHãy nghĩ về nó như thế này. khi tệp được mở, một con trỏ được đặt ở góc trên cùng bên trái của tệp ở đầu dòng đầu tiên. Bất cứ khi nào một chức năng đọc được gọi, con trỏ hoặc con trỏ sẽ tiến lên từ vị trí của nó. 7 đầu tiên bắt đầu ở đầu tệp và tiến đến cuối dòng đầu tiên. Bây giờ, con trỏ được định vị ở đầu dòng thứ hai. 7 thứ hai tiến đến cuối dòng thứ hai của tệp và để con trỏ ở vị trí đầu dòng thứ ba. 6 bắt đầu từ vị trí này và tiến dần đến cuối hồ sơNói chung, nếu bạn muốn chuyển đổi giữa các loại lệnh đọc khác nhau, bạn nên đóng tệp rồi mở lại để bắt đầu lại Đọc tất cả các dòng của một tệp vào một danh sách 8 sẽ đọc tất cả các dòng thành một danh sách, trong đó mỗi dòng của tệp là một mục trong danh sách. Điều này cực kỳ hữu ích, bởi vì một khi chúng tôi đã đọc tệp theo cách này, chúng tôi có thể lặp qua từng dòng của tệp và xử lý nó. Cách tiếp cận này hoạt động tốt trên các tệp dữ liệu nơi dữ liệu được sắp xếp thành các cột tương tự như bảng tính, vì có khả năng chúng tôi sẽ muốn xử lý từng dòng theo cùng một cáchVí dụ dưới đây minh họa cách tiếp cận này
Sử dụng #Create a variable for the file name filename = "Plates_output_simple.csv" #Open the file infile = open(filename, 'r') lines = infile.readlines() for line in lines: #lines is a list with each item representing a line of the file if 'control' in line: print(line) #print lines for control condition infile.close() #close the file when you're done! 5 để phân tách các “cột”Vì dữ liệu của chúng tôi nằm trong một. csv, chúng ta có thể sử dụng lệnh 6 để tách từng dòng của tệp thành một danh sách. Điều này có thể hữu ích nếu chúng tôi muốn truy cập các cột cụ thể của tệp
Ghi dữ liệu ra tệpThông thường, chúng tôi sẽ muốn ghi dữ liệu vào một tệp mới. Điều này đặc biệt hữu ích nếu chúng tôi đã thực hiện nhiều tính toán hoặc xử lý dữ liệu và chúng tôi muốn có thể lưu nó và quay lại sau Viết một tệp là quá trình gồm nhiều bước giống nhauGiống như đọc một tệp, chúng tôi sẽ mở và ghi tệp theo nhiều bước
Đoạn mã dưới đây đưa ra một ví dụ về ghi vào một tập tin
Ký tự dòng mớiKhi bạn kiểm tra tệp bạn vừa viết, bạn sẽ thấy rằng tất cả văn bản đều nằm trên cùng một dòng. Điều này là do chúng ta phải cho Python biết khi nào bắt đầu trên một dòng mới bằng cách sử dụng ký tự chuỗi đặc biệt 1. Ký tự dòng mới này sẽ cho Python biết chính xác nơi bắt đầu mỗi dòng mớiVí dụ dưới đây minh họa cách sử dụng các ký tự xuống dòng
Mở tệp bạn vừa viết và kiểm tra xem các dòng có được đặt chính xác không
Ghi số vào tệpGiống như Python tự động đọc các tệp dưới dạng chuỗi, hàm 3 dự kiến chỉ ghi chuỗi. Nếu chúng ta muốn ghi các số vào một tệp, chúng ta sẽ cần "truyền" chúng thành các chuỗi bằng cách sử dụng hàm 4Đoạn mã dưới đây cho thấy một ví dụ về điều này
|