Làm cách nào để bạn tổ chức một tệp văn bản trong python?

Chương trình Giáo dục Kỹ thuật (EngEd) này được hỗ trợ bởi Mục. Triển khai tức thì các container trên nhiều nhà cung cấp đám mây trên toàn cầu

Dùng thử miễn phí

Cách sử dụng Cơ sở dữ liệu văn bản trong Python

Ngày 23 tháng 12 năm 2021
  • chủ đề
  • ngôn ngữ

Một trong những cách chính để lưu trữ dữ liệu là sử dụng cơ sở dữ liệu. Cơ sở dữ liệu là tập hợp dữ liệu được tổ chức theo cách giúp truy cập và thao tác dễ dàng hơn

Mặc dù cơ sở dữ liệu thường được sử dụng để lưu trữ dữ liệu nhưng chúng không phải là cách duy nhất để lưu trữ dữ liệu. Bạn có thể lưu trữ dữ liệu theo cách có cấu trúc bên trong tệp. Tệp sẽ cho phép bạn ghi và truy xuất dữ liệu để sử dụng trong chương trình của mình. Một số tệp được sử dụng nhiều nhất là tệp Văn bản và tệp JSON

sử dụng. txt làm cơ sở dữ liệu

Tệp văn bản là một trong những định dạng tệp được sử dụng nhiều nhất trên thế giới hiện nay. Một trong những lý do chính khiến tệp văn bản được sử dụng là tính đơn giản của chúng. Các tệp văn bản không yêu cầu sử dụng bất kỳ phần mềm đặc biệt nào. Chúng thậm chí không yêu cầu bất kỳ kiến ​​thức định dạng nào, không giống như cơ sở dữ liệu

Các tệp văn bản có thể được sử dụng để lưu trữ tất cả các loại dữ liệu. Hầu hết, chúng được sử dụng để lưu trữ văn bản đơn giản không yêu cầu định dạng đặc biệt. Ví dụ: một tệp văn bản có thể được sử dụng để xuất danh sách tên, email hoặc kết hợp cả hai

Ghi dữ liệu vào tệp văn bản bằng write()

Trong Python, đọc và ghi tệp văn bản được hỗ trợ theo mặc định và không yêu cầu thư viện bổ sung

Để minh họa cách chúng ta có thể sử dụng tệp văn bản để lưu trữ dữ liệu, hãy xây dựng một chương trình đơn giản sẽ lưu trữ danh sách nhân viên trong tệp văn bản. Tạo một tệp mới

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
1 ở đâu đó trên máy của bạn và mở tệp đó trên trình chỉnh sửa mã của bạn

Thêm đoạn mã sau

employees = ['John', 'Mary', 'Bob', 'Jane']

file = open('employees.txt', "a")

for employee in employees:
    file.write(employee + '\n')

file.close()

Đầu tiên chúng ta tạo một danh sách chứa tên của các nhân viên. Sau đó, chúng tôi mở một tệp có tên

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
2. Điều quan trọng cần lưu ý là nếu một tệp có cùng tên đã tồn tại, các mục sẽ được thêm vào tệp đó. Nếu nó không tồn tại, một tệp mới sẽ được tạo

Sau đó, chúng tôi lặp qua danh sách và viết tên của từng nhân viên vào tệp bằng phương pháp

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
3. Chúng tôi sử dụng ký tự
items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
4 để phân tách tên của từng nhân viên bằng một dòng mới. Cuối cùng, chúng tôi đóng tệp

Ghi dữ liệu vào tệp văn bản bằng writelines()

Phương thức

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
5 tương tự như phương thức
items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
3, chỉ khác là nó lấy một danh sách các chuỗi làm đối số

Để chứng minh cách thức hoạt động của nó, hãy chạy mã bên dưới

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()

Chúng ta sử dụng hàm

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
7 để thêm một dòng mới (
items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
8) vào mỗi mục trong danh sách. Sau đó, chúng tôi mở một tệp có tên
items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
2 ở chế độ ghi (
file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
0) và ghi danh sách nhân viên vào tệp. Tệp bị ghi đè (nội dung hiện có bị xóa sau đó nội dung mới được ghi) mỗi khi chúng tôi chạy chương trình

Đọc dữ liệu từ tệp văn bản bằng read()

Để đọc dữ liệu từ một tệp văn bản, chúng ta sử dụng phương thức

file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
1. Phương thức này trả về một chuỗi chứa nội dung của tệp

file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()

Chúng tôi mở tệp ở chế độ đọc (

file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
2) và sau đó in nội dung của tệp. Chúng tôi sử dụng phương pháp
file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
3 để lấy loại nội dung. Chúng ta có thể thấy rằng nội dung là một chuỗi

Khi chúng tôi in nội dung, nó được chia thành nhiều dòng. Điều này là do ký tự

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
4 mà chúng tôi đã thêm vào khi ghi tệp. Sử dụng phương pháp
file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
1 không phải là cách tốt nhất để đọc tệp. Điều này là do hầu hết thời gian, bạn cần sử dụng nội dung tệp ở đâu đó trong chương trình của mình

Để khắc phục điều này, chúng ta có thể sử dụng phương pháp

file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
6

Đọc dữ liệu từ tệp văn bản bằng readlines()

Phương thức

file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
6 trả về một danh sách các chuỗi, mỗi chuỗi đại diện cho một dòng trong tệp

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()

Chúng tôi sử dụng phương pháp

file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
8 để lấy danh sách các dòng trong tệp. Chúng tôi lặp qua danh sách in từng dòng. Phương thức
file = open('employees.txt', "r")
content = file.read()

print("content type: " + type(content).__name__ + "\n")
print(content)

file.close()
9 xóa ký tự xuống dòng ở cuối mỗi dòng. Để sử dụng nội dung dòng trong chương trình của bạn, bây giờ bạn có thể thêm các mục vào danh sách

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()

Chúng tôi lặp qua danh sách nối thêm từng dòng vào danh sách

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
0. Bây giờ bạn có thể sử dụng danh sách này trong chương trình của mình. Việc triển khai này khá cơ bản. Giả sử bạn muốn lưu trữ các đối tượng trong một tệp văn bản. Bạn sẽ làm điều này như thế nào?

Lưu trữ các đối tượng trong một tệp văn bản

Để lưu trữ các đối tượng trong tệp văn bản, chúng ta cần chuyển đổi chúng thành chuỗi trước khi ghi chúng vào tệp

employees = [
    {'name': 'John', 'age': 30},
    {'name': 'Mary', 'age': 25},
    {'name': 'Bob', 'age': 40},
    {'name': 'Jane', 'age': 45}
]

file = open('employees.txt', "a")

for employee in employees:
    string = "{name}||{age}\n".format(**employee)

    file.write(string)

file.close()

Đầu tiên chúng ta tạo một danh sách từ điển chứa các nhân viên. Sau đó, chúng tôi lặp qua danh sách và tạo một chuỗi cho từng nhân viên. Chúng tôi sử dụng phương thức

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
1 và toán tử
file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
2 để tạo chuỗi và giải nén từ điển tương ứng. Bây giờ hãy chuyển chuỗi này về dạng ban đầu

Đọc đối tượng từ tệp văn bản

Để lấy lại các đối tượng ban đầu của chúng tôi, chúng tôi phải đọc từng dòng tệp. Sau đó, chúng ta có thể sử dụng phương thức

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
3 để tách chuỗi thành một danh sách các chuỗi

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name, age = line.strip().split('||')

    employees.append({'name': name, 'age': int(age)})

print(employees)

file.close()

Chúng tôi lặp qua danh sách nội dung và chia mỗi dòng thành hai biến

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
4 và
file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
5. Sau đó, chúng tôi chuyển đổi hai biến thành một từ điển và nối chúng vào danh sách
file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
0. Bây giờ bạn có thể sử dụng danh sách này trong chương trình của mình

Để xây dựng, lưu trữ và đọc các cấu trúc lớn bằng tệp văn bản, bạn có thể cân nhắc sử dụng mô-đun

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
7. Nó cung cấp một cách để tuần tự hóa và giải tuần tự hóa các đối tượng Python để lưu trữ trong tệp

Nếu việc sử dụng tệp văn bản khiến bạn cảm thấy hơi lộn xộn, bạn có thể cân nhắc sử dụng tệp JSON

Sử dụng tệp JSON làm cơ sở dữ liệu

JSON là định dạng dữ liệu mà con người có thể đọc được, dễ đọc và được hỗ trợ nguyên bản trong hầu hết các ngôn ngữ lập trình chính. Trong Python, chúng ta có thể sử dụng mô-đun

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
8 để làm việc với các tệp JSON. Mô-đun
file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
8 cung cấp một cách đơn giản để đọc và ghi tệp JSON. JSON lưu trữ dữ liệu ở định dạng cặp khóa-giá trị

Đây là một ví dụ về một đối tượng JSON

{
    "name": "John",
    "age": 30,
    "is_developer": true
}

Để minh họa cách chúng tôi có thể ghi vào tệp JSON, hãy chạy mã bên dưới

import json

employees = [
    {
        "name": "Carol",
        "age": 30,
        "is_developer": True
    },
    {
        "name": "Erastus",
        "age": 30,
        "is_developer": False
    }, {
        "name": "Eric",
        "age": 20,
        "is_developer": True
    }
]

json_obj = json.dumps(employees, indent=4)

file = open("employees.json", "w")
file.write(json_obj)

file.close()

Chúng ta cần tạo danh sách từ điển

file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
0. Sau đó, chúng tôi sử dụng phương thức
file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
1 để chuyển đổi danh sách thành chuỗi JSON. Sau đó, chúng tôi viết chuỗi JSON vào một tệp. Chúng tôi sử dụng tham số
file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
2 để định dạng chuỗi JSON

Để đọc tệp JSON, chúng ta sử dụng phương thức

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
3 để chuyển đổi chuỗi JSON thành danh sách từ điển

Cần sử dụng tham số

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
2 khi ghi tệp JSON. Điều này sẽ làm cho tệp JSON có thể đọc được bằng con người

import json

file = open("employees.json", "r")

content = file.read()
employees = json.loads(content)

for employee in employees:
    print(employee['name'])

file.close()

Chúng tôi mở tệp ở chế độ đọc và đọc nội dung. Sau đó, chúng tôi sử dụng phương thức

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
3 để chuyển đổi chuỗi JSON thành danh sách từ điển. Cuối cùng, chúng tôi lặp qua danh sách in tên của từng nhân viên trước khi đóng tệp

Cập nhật tệp JSON

Để cập nhật tệp JSON, trước tiên chúng ta phải đọc tệp, cập nhật nội dung tệp, sau đó ghi nội dung đã cập nhật trở lại tệp. Hãy thêm một nhân viên mới vào tệp của chúng tôi

items = ['John', 'Mary', 'Bob', 'Jane']
employees = []

def separator(list):
    for item in list:
        item += '\n'
        employees.append(item)

separator(items)

file = open('employees.txt', "w")

file.writelines(employees)
file.close()
0

Đầu tiên chúng tôi đọc nội dung của tập tin. Sử dụng phương thức

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
3, chúng tôi chuyển đổi chuỗi JSON thành danh sách từ điển. Sau đó chúng tôi đã thêm một nhân viên mới vào danh sách. Cuối cùng chúng tôi đã viết danh sách nhân viên được cập nhật trở lại tệp

Phần kết luận

Các tệp văn bản có thể phục vụ nhiều mục đích khác nhau. Bạn có thể sử dụng chúng để lưu trữ văn bản đơn giản và thậm chí cả dữ liệu có cấu trúc. Bạn có thể phân tích cú pháp các tệp văn bản để lấy lại dữ liệu có cấu trúc, để sử dụng trong chương trình của mình

Điều quan trọng cần lưu ý là khi phân tích cú pháp số nguyên, bạn phải chuyển đổi chúng trở lại số nguyên bằng phương pháp

file = open('employees.txt', "r")
content = file.readlines()

employees = []

for line in content:
    name = line.strip()
    employees.append(name)

print(employees)

file.close()
7. Các tệp JSON có thể được sử dụng để lưu trữ dữ liệu có cấu trúc ở định dạng mà con người có thể đọc được. Chúng không cần phân tích cú pháp vì mô-đun
file = open('employees.txt', "r")
content = file.readlines()

print("content type: " + type(content).__name__ + "\n")

for line in content:
    print(line.strip())

file.close()
8 cung cấp một cách đơn giản để đọc và ghi các tệp JSON

Cũng cần lưu ý rằng bạn không thể dựa vào các tệp này khi làm việc với ứng dụng tốc độ cao. Trong những trường hợp như vậy, cơ sở dữ liệu sẽ là lựa chọn tối ưu

Làm cách nào để sắp xếp một tệp trong Python?

Chỉ để hiển thị một cái gì đó khác thay vì làm điều này trong python, bạn có thể làm điều này từ một dòng lệnh trong các hệ thống Unix. và tập tin của bạn được sắp xếp. Tất nhiên nếu bạn thực sự muốn python cho việc này. giải pháp được đề xuất bởi rất nhiều người khác với việc đọc tệp và sắp xếp hoạt động tốt Một cách dễ dàng để làm điều này là sử dụng các hàm sort() hoặc sorted()

Các loại tệp khác nhau trong Python là gì?

Có hai loại tệp có thể được xử lý trong python, tệp văn bản bình thường và tệp nhị phân (được viết bằng ngôn ngữ nhị phân, 0 và 1). tệp văn bản. Trong loại tệp này, mỗi dòng văn bản được kết thúc bằng một ký tự đặc biệt gọi là EOL (End of Line), là ký tự xuống dòng mới (‘ ’) theo mặc định trong python

Làm cách nào để đọc và ghi vào tệp văn bản trong Python?

Đọc và ghi vào tệp văn bản trong Python. Đọc và Viết ('r+'). Mở tệp để đọc và ghi. Tay cầm được định vị ở đầu tệp. Tăng lỗi I/O nếu tệp không tồn tại. Chỉ ghi ('w'). Mở tệp để ghi. Đối với tệp hiện có, dữ liệu bị cắt bớt và ghi đè

Làm cách nào để sắp xếp một tệp txt?

Một cách dễ dàng để làm điều này là sử dụng các hàm sort() hoặc sorted(). Tuy nhiên, nhược điểm là bạn phải đọc toàn bộ tệp vào bộ nhớ. Nếu đó không phải là vấn đề, bạn có thể sử dụng mã đơn giản này. Sử dụng chức năng sắp xếp. với mở ('mua sắm. txt', 'r') dưới dạng r. cho dòng được sắp xếp (r). in (dòng, kết thúc = '')

Bạn có thể sắp xếp một tệp văn bản bằng Python không?

Sắp xếp là một hàm danh sách tích hợp sẵn trong python có thể sắp xếp bất kỳ đối tượng đã cho nào tại chỗ, chẳng hạn như số nguyên, số float, chuỗi theo thứ tự tăng dần hoặc giảm dần .

Làm cách nào để định dạng dữ liệu trong tệp txt Python?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu chi tiết hơn về định dạng tệp txt. .
Bước 1. Tạo tệp văn bản. Đầu tiên, chúng ta phải tạo một tệp văn bản mới bằng Python. .
Bước 2. Mở tệp văn bản. .
Bước 3. Đọc tệp văn bản. .
Bước 4. Viết tập tin. .
Bước 5. Đóng tệp. .
Bước 6. Kiểm tra mã