Hướng dẫn how to write multiple lists to a file in python - cách ghi nhiều danh sách vào một tệp trong python
Giả sử tôi có một danh sách các sinh viên, một danh sách các điểm kiểm tra và một danh sách trung bình. Làm cách nào để viết từng danh sách này vào một tệp được định dạng để học sinh đầu tiên, điểm kiểm tra và trung bình sẽ ở dòng một, học sinh thứ hai, điểm kiểm tra và trung bình sẽ ở dòng hai, v.v.? Show
Đã hỏi ngày 12 tháng 11 năm 2013 lúc 4:51Nov 12, 2013 at 4:51
3 Thử cái này:
Nếu bạn không muốn sử dụng một vòng lặp cho vòng lặp, bạn có thể xem CSV.Writer, nhưng điều đó hầu như không "hợp lý" hơn những gì tôi đã đăng ở đây. Đã trả lời ngày 12 tháng 11 năm 2013 lúc 4:54Nov 12, 2013 at 4:54
kevinsa5kevinsa5kevinsa5 3.1812 Huy hiệu vàng24 Huy hiệu bạc28 Huy hiệu đồng2 gold badges24 silver badges28 bronze badges 6 Không có 2
Đã trả lời ngày 12 tháng 11 năm 2013 lúc 4:57Nov 12, 2013 at 4:57
John La Rooyjohn La RooyJohn La Rooy 286K51 Huy hiệu vàng358 Huy hiệu bạc499 Huy hiệu đồng51 gold badges358 silver badges499 bronze badges 4 Giới thiệuCác lập trình viên Python sử dụng mạnh mẽ các mảng, danh sách và từ điển như các cấu trúc dữ liệu tuần tự hóa. Lưu trữ các cấu trúc dữ liệu này liên tục yêu cầu một tệp hoặc cơ sở dữ liệu để hoạt động đúng.
Để ghi dữ liệu vào một tệp và để đọc dữ liệu từ một tệp, ngôn ngữ lập trình Python cung cấp các phương thức tiêu chuẩn 3 và 4 để xử lý một dòng duy nhất, cũng như 5 và 6 để xử lý nhiều dòng. Hơn nữa, cả mô -đun 7 và 8 cũng cho phép các cách xử lý thông minh với các bộ dữ liệu tuần tự hóa.Sử dụng các phương thức đọc () và write ()Để đối phó với các ký tự (chuỗi) các phương pháp 4 và 3 cơ bản hoạt động xuất sắc. Lưu một dòng danh sách như vậy từng dòng vào tệp 1 có thể được thực hiện như sau:
2 được mở rộng bởi một đường ngắt 3, trước tiên, sau đó được lưu trữ vào tệp đầu ra. Bây giờ chúng ta có thể xem cách đọc toàn bộ danh sách từ tệp 1 trở lại bộ nhớ:
Hãy nhớ rằng bạn sẽ cần phải loại bỏ đường ngắt từ cuối chuỗi. Trong trường hợp này, nó cũng giúp chúng tôi rằng Python cũng cho phép các hoạt động danh sách trên các chuỗi. Việc loại bỏ này chỉ đơn giản được thực hiện dưới dạng hoạt động danh sách trên chính chuỗi, giữ mọi thứ trừ phần tử cuối cùng. Phần tử này chứa ký tự 3 đại diện cho độ ngắt dòng trên các hệ thống Unix/Linux.Sử dụng các phương thức WriteLines () và Readlines ()Như đã đề cập ở đầu bài viết này, Python cũng chứa hai phương pháp - 5 và 6 - để viết và đọc nhiều dòng trong một bước, tương ứng. Hãy viết toàn bộ danh sách vào một tệp trên đĩa:
Để đọc toàn bộ danh sách từ một tệp trên đĩa chúng ta cần:
Mã trên theo cách tiếp cận truyền thống hơn được mượn từ các ngôn ngữ lập trình khác. Hãy viết nó theo một cách pythonic hơn:
Thứ nhất, nội dung tệp được đọc qua 6. Thứ hai, trong vòng lặp 9 từ mỗi dòng, ký tự ngắt dòng được loại bỏ bằng phương pháp 0. Thứ ba, chuỗi được thêm vào danh sách các địa điểm dưới dạng mục danh sách mới.So với danh sách trước khi mã nhỏ gọn hơn nhiều, nhưng có thể khó đọc hơn đối với các lập trình viên Python mới bắt đầu. Sử dụng mô -đun joblibCác phương pháp ban đầu được giải thích cho đến bây giờ lưu trữ danh sách theo cách mà con người vẫn có thể đọc nó - hoàn toàn là một danh sách tuần tự trong một tệp. Điều này là tuyệt vời để tạo các báo cáo đơn giản hoặc xuất các tệp xuất cho người dùng để sử dụng thêm, chẳng hạn như các tệp CSV. Tuy nhiên - nếu mục đích của bạn là chỉ tuần tự hóa danh sách vào một tệp, điều đó có thể được tải sau đó, không cần phải lưu trữ nó ở định dạng có thể đọc được của con người. Mô -đun 1 cung cấp cách dễ nhất để đổ đối tượng Python (có thể là bất kỳ đối tượng nào thực sự):
1 vẫn là cách đơn giản nhất và sạch nhất để tuần tự hóa các đối tượng theo định dạng hiệu quả và tải chúng sau. Bạn có thể sử dụng bất kỳ định dạng tùy ý nào, chẳng hạn như 3, 4, v.v ... Nó không thực sự quan trọng - cả 1 và các lựa chọn thay thế như 7 sẽ đọc các tệp tốt.Sử dụng mô -đun PickleThay thế cho 1, chúng ta có thể sử dụng 7! Phương thức 9 của nó lưu trữ danh sách hiệu quả dưới dạng luồng dữ liệu nhị phân. Thứ nhất, tệp đầu ra 0 được mở để viết nhị phân ( 1). Thứ hai, danh sách được lưu trữ trong tệp đã mở bằng phương thức 9:
Là bước tiếp theo, chúng tôi đọc danh sách từ tệp như sau. Thứ nhất, tệp đầu ra 0 được mở nhị phân để đọc ( 4). Thứ hai, danh sách các địa điểm được tải từ tệp bằng phương thức 5:
Hai ví dụ ở đây chứng minh việc sử dụng chuỗi. Mặc dù, 7 hoạt động với tất cả các loại đối tượng Python như chuỗi, số, cấu trúc tự xác định và mọi cấu trúc dữ liệu tích hợp khác cung cấp.Sử dụng định dạng JSONĐịnh dạng dữ liệu nhị phân 7 sử dụng dành riêng cho Python. Để cải thiện khả năng tương tác giữa các chương trình khác nhau, ký hiệu đối tượng JavaScript (JSON) cung cấp một lược đồ dễ sử dụng và có thể đọc được, và do đó trở nên rất phổ biến để tuần tự hóa các tệp và chia sẻ chúng qua API.Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó! Ví dụ sau đây cho thấy cách viết danh sách các loại biến hỗn hợp vào tệp đầu ra bằng mô -đun JSON. Sau khi mở tệp đầu ra để viết, phương thức 9 lưu trữ danh sách cơ bản trong tệp bằng ký hiệu JSON: 0Đọc nội dung của tệp đầu ra trở lại vào bộ nhớ cũng đơn giản như viết dữ liệu. Phương pháp tương ứng với 9 được đặt tên 5: 1Sự kết luậnCác phương thức khác nhau, chúng tôi đã hiển thị ở trên phạm vi từ dữ liệu viết/đọc đơn giản cho đến việc đổ/tải dữ liệu qua các luồng nhị phân bằng Pickle và JSON. Điều này đơn giản hóa việc lưu trữ một danh sách một cách kiên trì và đọc lại vào bộ nhớ. Làm thế nào để bạn viết nhiều danh sách trong Python?Toán tử + thực hiện một công việc thẳng về phía trước là tham gia các danh sách với nhau. Chúng tôi chỉ áp dụng toán tử giữa tên của danh sách và kết quả cuối cùng được lưu trữ trong danh sách lớn hơn.apply the operator between the name of the lists and the final result is stored in the bigger list.
Làm cách nào để lưu nhiều danh sách trong Python?Thêm các yếu tố trong danh sách Python.. append () chúng ta có thể nối các giá trị vào cuối danh sách.Chúng tôi sử dụng phương thức append () cho điều này..... Chèn () bạn có thể chèn các giá trị trong danh sách với phương thức chèn ().Ở đây, bạn chỉ định một giá trị để chèn tại một vị trí cụ thể..... Mở rộng () mở rộng () có thể thêm nhiều mục vào danh sách.Tìm hiểu bằng ví dụ:. Bạn có thể nối một danh sách vào một tệp trong Python không?Phương thức phụ lục Python thêm các yếu tố vào cuối danh sách.Chúng tôi cũng có thể nối vào một tệp khi chúng tôi đang viết vào một tệp.We can also append to a file when we are writing to a file.
Làm cách nào để tạo danh sách thành một tệp văn bản?Phương thức 2: Viết trong một tệp văn bản bằng python bằng writeLines () tệp được mở bằng phương thức open () ở chế độ W trong khối với khối, đối số sẽ viết văn bản vào tệp văn bản hiện có với sự trợ giúp của readlines ().Khối với đảm bảo rằng một khi toàn bộ khối được thực thi, tệp được đóng tự động.using writelines()
The file is opened with the open() method in w mode within the with block, the argument will write text to an existing text file with the help of readlines(). The with block ensures that once the entire block is executed the file is closed automatically. |