Làm cách nào để thêm các mục từ tệp văn bản vào danh sách trong python?

Danh sách trong Python là một cấu trúc dữ liệu tích hợp lưu trữ dữ liệu không đồng nhất hoặc đồng nhất ở dạng tuần tự. Các phần tử trong danh sách có thể là duy nhất hoặc trùng lặp và được xác định bởi một vị trí duy nhất được gọi là chỉ mục. Python ghi danh sách vào tệp và lưu dữ liệu có trong danh sách vào tệp văn bản

Phạm vi

  • Bài viết này là hướng dẫn từng bước về cách ghi danh sách vào tệp trong Python
  • Trong bài viết này, nhiều phương pháp Python ghi danh sách vào tệp được xây dựng bằng các ví dụ

Cách ghi danh sách vào tệp trong Python

Phương thức write[] hoặc writelines[] giúp Python ghi danh sách vào tệp. Một danh sách trong Python có thể được viết trong một tệp theo nhiều cách khác nhau. Các bước cơ bản bao gồm

  • Mở tệp văn bản ở chế độ ghi
  • Viết các mục hiện tại từ danh sách vào tệp văn bản
  • Đóng tệp sau khi hoàn thành thao tác ghi

Phương pháp 1. Sử dụng ghi[]

Danh sách được lặp lại bằng vòng lặp và trong mỗi lần lặp, phương thức write[] ghi một mục từ danh sách vào tệp cùng với một ký tự xuống dòng

bước

  1. Mở một. txt trong chế độ w [ở đây w có nghĩa là ghi]. Hàm open[] hiển thị đường dẫn tệp
  2. Tiếp theo, tạo một danh sách các mục. Sử dụng vòng lặp for để duyệt qua tất cả các mục trong danh sách
  3. Hàm write[] thêm danh sách các mục vào tệp văn bản
  4. Đóng tệp bằng hàm close[]

Mã số

items = ['Mango', 'Orange', 'Apple', 'Lemon']
file = open['items.txt','w']
for the item in items:
	file.write[item+"\n"]
file.close[]

đầu ra

Phương pháp 2. Sử dụng writelines[]

writelines[] lấy một danh sách làm đối số của nó và ghi tất cả các phần tử của danh sách vào một tệp. Trong tệp văn bản, các thành phần danh sách được nối nối tiếp nhau mà không có bất kỳ khoảng trắng hoặc ký tự dòng mới nào

bước

  1. Mở một. txt trong chế độ w [ở đây w có nghĩa là ghi]. Hàm open[] hiển thị đường dẫn tệp
  2. Tạo một danh sách các mặt hàng
  3. Hàm writelines[] lấy danh sách các mục làm tham số và ghi chúng vào tệp văn bản
  4. Đóng tệp bằng hàm close[]

Mã số

items = ['Table ', 'Chair ', 'Mirror ', 'Curtain ', 'Almirah ']
file = open['items.txt','w']
file.writelines[items]
file.close[]

đầu ra

Phương pháp 3. Sử dụng String Join Cùng với cú pháp "with open"

Cú pháp with open tự động đóng tệp sau khi thực hiện tất cả các câu lệnh bên trong nó. Do đó, hàm close[] không cần phải được gọi rõ ràng

bước

  1. Tạo một danh sách các mặt hàng
  2. Mở một. txt trong chế độ w [ở đây w có nghĩa là ghi]. Hàm open[] hiển thị đường dẫn tệp
  3. Chức năng ghi trong khối này thêm danh sách các mục vào tệp văn bản

Mã số

items = ['Table ', 'Chair ', 'Mirror ', 'Curtain ', 'Almirah ']
with open['items.txt','w'] as tfile:
	tfile.write['\n'.join[items]]

đầu ra

Phương pháp tốt nhất để ghi danh sách vào tệp trong Python là gì?

Giải pháp đơn giản nhất để Python ghi danh sách vào tệp là sử dụng tệp. write[] phương thức ghi tất cả các mục từ danh sách vào một tệp. Phương thức open[] mở tệp ở chế độ w. Danh sách được lặp lại và tất cả các mục được viết từng cái một

câu hỏi thường gặp

1. Chế độ truy cập 'w' nghĩa là gì?

Chế độ w đề cập đến việc viết. Nó tạo một tệp mới nếu một tệp có tên được chỉ định không có, nếu không sẽ ghi đè lên tệp hiện có

2. Hàm open[] nhận bao nhiêu đối số?

Hàm open[] nhận hai đối số tên tệp cùng với đường dẫn đầy đủ của nó và chế độ truy cập

3. Hàm close[] nhận bao nhiêu đối số?

Hàm close[] không nhận bất kỳ đối số nào

4. Tại sao sử dụng phương thức with open[] không an toàn?

Trong trường hợp với open[], nếu một số ngoại lệ xảy ra khi mở tệp, thì mã sẽ thoát mà không đóng tệp

Các lập trình viên Python sử dụng nhiều mảng, danh sách và từ điển làm cấu trúc dữ liệu tuần tự hóa. Việc lưu trữ liên tục các cấu trúc dữ liệu này yêu cầu tệp hoặc cơ sở dữ liệu hoạt động bình thường

Trong bài viết này, chúng ta sẽ xem cách ghi danh sách vào tệp và cách đọc lại danh sách đó vào bộ nhớ

Để 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 write[]read[] để xử lý một dòng, cũng như writelines[]readlines[] để xử lý nhiều dòng. Hơn nữa, cả mô-đun picklejson cũng cho phép các cách xử lý thông minh với các tập dữ liệu được đăng nhiều kỳ

Sử dụng các Phương thức read[] và write[]

Để xử lý các ký tự [chuỗi], các phương thức cơ bản của read[]write[] hoạt động xuất sắc. Việc lưu từng dòng một danh sách như vậy vào tệp

items = ['Table ', 'Chair ', 'Mirror ', 'Curtain ', 'Almirah ']
file = open['items.txt','w']
file.writelines[items]
file.close[]
1 có thể được thực hiện như sau

Đầu tiên,

items = ['Table ', 'Chair ', 'Mirror ', 'Curtain ', 'Almirah ']
file = open['items.txt','w']
file.writelines[items]
file.close[]
2 được mở rộng bằng dấu ngắt dòng read[]0, sau đó được lưu 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

items = ['Table ', 'Chair ', 'Mirror ', 'Curtain ', 'Almirah ']
file = open['items.txt','w']
file.writelines[items]
file.close[]
1 trở lại bộ nhớ

Hãy nhớ rằng bạn sẽ cần xóa dấu ngắt dòng ở cuối chuỗi. Trong trường hợp này, nó giúp chúng ta rằng Python cũng cho phép liệt kê các thao tác trên chuỗi. Việc loại bỏ này được thực hiện đơn giản như một thao tác 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ự read[]0 đại diện cho ngắt dòng trên 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 thức - writelines[]readlines[] - để viết và đọc nhiều dòng trong một bước, tương ứng. Hãy ghi 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

Đoạn mã trên tuân theo cách tiếp cận truyền thống hơn được vay mượn từ các ngôn ngữ lập trình khác. Hãy viết nó theo cách Pythonic hơn

Thứ nhất, nội dung tệp được đọc qua readlines[]. Thứ hai, trong vòng lặp read[]6 từ mỗi dòng, ký tự ngắt dòng được xóa bằng phương thức read[]7. Thứ ba, chuỗi được thêm vào danh sách địa điểm dưới dạng mục danh sách mới

So với danh sách trước mã này 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 Joblib

Các phương pháp ban đầu được giải thích cho đến nay lưu trữ danh sách theo cách mà con người vẫn có thể đọc được - theo đúng nghĩa đen là một danh sách tuần tự trong một tệp. Điều này thật tuyệt vời để tạo các báo cáo đơn giản hoặc xuất tệp xuất để người dùng sử dụng thêm, chẳng hạn như tệp CSV. Tuy nhiên - nếu mục đích của bạn là chỉ tuần tự hóa một danh sách thành một tệp, có thể được tải sau này, thì không cần phải lưu trữ nó ở định dạng mà con người có thể đọc được

Mô-đun read[]8 cung cấp cách dễ dàng nhất để kết xuất một đối tượng Python [thực sự có thể là bất kỳ đối tượng nào]

read[]8 vẫn là cách đơn giản và rõ ràng nhất để tuần tự hóa các đối tượng ở đị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ư writelines[]0, writelines[]1, v.v. Điều đó không thực sự quan trọng - cả read[]8 và các lựa chọn thay thế như pickle đều sẽ đọc tệp tốt

Sử dụng Mô-đun dưa chua

Để thay thế cho read[]8, chúng ta có thể sử dụng pickle. Phương thức writelines[]6 của nó lưu trữ danh sách một cách hiệu quả dưới dạng luồng dữ liệu nhị phân. Đầu tiên, tệp đầu ra writelines[]7 được mở để ghi nhị phân [writelines[]8]. Thứ hai, danh sách được lưu trữ trong tệp đã mở bằng phương pháp writelines[]6

Bước tiếp theo ta đọc danh sách từ file như sau. Đầu tiên, tệp đầu ra writelines[]7 được mở nhị phân để đọc [readlines[]1]. Thứ hai, danh sách các địa điểm được tải từ tệp bằng phương thức readlines[]2

Hai ví dụ ở đây chứng minh việc sử dụng các chuỗi. Mặc dù, pickle 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 mà Python cung cấp

Sử dụng định dạng JSON

Định dạng dữ liệu nhị phân mà pickle 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à con người có thể đọc được, do đó trở nên rất phổ biến để tuần tự hóa các tệp và chia sẻ chúng qua các API

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Ví dụ sau minh họa cách ghi 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 để ghi, phương thức writelines[]6 lưu trữ danh sách cơ bản trong tệp bằng ký hiệu JSON

Đọc nội dung của tệp đầu ra trở lại bộ nhớ cũng đơn giản như ghi dữ liệu. Phương thức tương ứng với writelines[]6 được đặt tên là readlines[]2

Phần kết luận

Các phương pháp khác nhau mà chúng tôi đã trình bày ở trên bao gồm từ ghi/đọc dữ liệu đơn giản cho đến kết xuất/tải dữ liệu qua luồng nhị phân bằng cách sử dụng dưa chua và JSON. Điều này đơn giản hóa việc lưu trữ một danh sách liên tục và đọc lại vào bộ nhớ

Chủ Đề