Làm cách nào để bạn ghi dữ liệu vào một tệp trong python?

Hàm open[] trả về một đối tượng tệp. Đối tượng tệp này có hai phương thức hữu ích để ghi văn bản vào tệp

  1. write[] ghi một chuỗi vào tệp văn bản
  2. writelines[] ghi danh sách các chuỗi vào tệp [hoặc bất kỳ lần lặp nào khác, chẳng hạn như một bộ hoặc tập hợp các chuỗi]

Hãy xem cách sử dụng các phương pháp ghi tệp này

Phương thức write[] trong Python

Phương thức write[] nhận một đối số chuỗi. Nó ghi đối số này vào tệp đã mở

Ví dụ: hãy tạo một danh sách các chuỗi và sử dụng phương thức write[] để ghi từng chuỗi vào tệp bằng vòng lặp for

words = ["This ", "is ", "a ", "test"]
with open["example.txt", "w"] as f:
    for word in words:
        f.write[word]

Kết quả là, một tệp có tên ví dụ. txt được tạo với nội dung sau

This is a test

Lưu ý cách mỗi chuỗi được ghi trên cùng một dòng theo mặc định

Nếu bạn muốn mỗi từ xuất hiện trên một dòng riêng biệt, hãy viết ký tự ngắt dòng '\n' sau khi ghi một chuỗi vào tệp

Ví dụ

words = ["This", "is", "a", "test"]
with open["example.txt", "w"] as f:
    for word in words:
        f.write[word]
        f.write["\n"]

trong ví dụ. txt kết quả sẽ như thế này

This
is
a
test

Đây là một cách để ghi vào một tập tin

Nhưng trong trường hợp có nhiều chuỗi, bạn có thể sử dụng phương thức writelines[] để ghi tất cả chúng vào một tệp trong cùng một lần

Phương thức writelines[] trong Python

Hàm writelines[] lấy một đối tượng có thể lặp lại, chẳng hạn như một danh sách, chứa các chuỗi được ghi vào tệp đã mở

Với Python, bạn có thể sửa đổi và ghi trực tiếp vào tệp theo chương trình, giúp bạn không phải thực hiện thủ công. Trong bài viết này, bạn sẽ học cách ghi vào tệp bằng Python

Trước khi đi sâu vào chi tiết về cách ghi vào tệp trong Python, tôi muốn đề cập rằng tôi sử dụng Python 3. 8. 5 và Windows 10. Tuy nhiên, kết quả của bạn phải giống nhau trên mọi hệ điều hành

Thật tốt nếu bạn có một số kiến ​​thức về thao tác tệp trước khi đọc bài viết này. Để biết thêm thông tin, hãy đọc Cách làm việc với tệp và thư mục trong Python và Cách đổi tên tệp bằng Python

Có nhiều cách để ghi vào tệp và ghi dữ liệu bằng Python. Hãy bắt đầu với phương pháp

# close the file
f.close[]
6

Sử dụng write[] để ghi vào tệp trong Python

Bước đầu tiên để viết một tệp bằng Python là mở nó, nghĩa là bạn có thể truy cập nó thông qua một tập lệnh. Có hai cách để mở một tập tin. Cách đầu tiên là sử dụng

# close the file
f.close[]
7, như hình bên dưới

# open the file in the write mode
f = open['file.txt', 'w']

Tuy nhiên, với phương pháp này, bạn cần tự đóng tệp bằng cách gọi phương thức

# close the file
f.close[]
8

# close the file
f.close[]

Sử dụng câu lệnh

# close the file
f.close[]
9 sẽ ngắn hơn, vì chúng ta không cần gọi phương thức
# close the file
f.close[]
8

Đây là phương pháp chúng ta sẽ sử dụng trong hướng dẫn này

with open["file.txt", "w"] as file:

Dòng mã trên sẽ mở

with open["file.txt", "w"] as file:
1 và sẽ gán trình xử lý tệp cho biến có tên là
with open["file.txt", "w"] as file:
2

Sau đó, chúng tôi có thể gọi phương thức

# close the file
f.close[]
6 để sửa đổi tệp của mình theo chương trình

Hãy chạy một ví dụ

file.write["Python is awesome!"] 

Khi lệnh này đã được thực thi, chúng tôi muốn đọc tệp để xem nó đã được cập nhật chưa. Chúng ta cần gọi phương thức

with open["file.txt", "w"] as file:
4, như hình bên dưới

# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]

Điều quan trọng cần lưu ý là các tham số trong hàm

# close the file
f.close[]
7 sẽ quyết định nơi phương thức
# close the file
f.close[]
6 sẽ hoạt động

Nếu bạn muốn tìm hiểu thêm về cách ghi tệp bằng Python bằng phương pháp

# close the file
f.close[]
6, hãy xem khóa học của chúng tôi về Làm việc với tệp và thư mục trong Python

Sử dụng writelines[] để thêm dữ liệu danh sách vào tệp

Một phương pháp khác mà bạn có thể sử dụng là

with open["file.txt", "w"] as file:
8. Phương pháp này thêm các thuật ngữ của danh sách theo cách có lập trình. Hãy chạy một ví dụ

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]

Sau khi kiểm tra đầu ra, bạn sẽ nhận thấy rằng

with open["file.txt", "w"] as file:
8 không thêm bất kỳ dấu phân cách dòng nào theo mặc định; . Chúng tôi có thể sửa đổi mã của mình bằng cách sau

# open and write to file
with open["file2.txt", "a"] as file:
    file.writelines[["Hey there!\n", "LearnPython.com is awesome!\n"]]

# open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]

Một cách Pythonic và hiệu quả hơn để làm điều đó là

# open file
with open["file2.txt", "a"] as file:
    # set a list of lines to add:
    lines = ["Hey there!", "LearnPython.com is awesome!"]
    # write to file and add a separator
    file.writelines[s + '\n' for s in lines]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]

Đoạn mã trên sẽ sử dụng các dòng mới làm dấu phân cách dòng

Ghi dữ liệu vào tệp CSV bằng Python

Bạn có thể thấy hữu ích khi có thể cập nhật tệp CSV trực tiếp bằng Python

CSV là viết tắt của các giá trị được phân tách bằng dấu phẩy. Nếu bạn là dân chuyên nghiệp về dữ liệu, chắc chắn bạn đã từng gặp loại tệp này. Tệp CSV là tệp văn bản thuần túy chứa danh sách dữ liệu. Loại tệp này thường được sử dụng để trao đổi dữ liệu giữa các ứng dụng. Nếu bạn muốn làm mới kiến ​​thức của mình về tệp CSV, hãy đọc bài viết của chúng tôi Cách đọc tệp CSV bằng Python

Trong phần này, chúng tôi sẽ sử dụng mô-đun

file.write["Python is awesome!"] 
0 tích hợp sẵn của Python để cập nhật tệp CSV

Khi bạn muốn ghi dữ liệu vào một tệp bằng Python, có thể bạn sẽ muốn thêm một hoặc nhiều hàng cùng một lúc. Dữ liệu có thể được lưu trữ trong danh sách hoặc từ điển. Hãy khám phá một số cách để ghi dữ liệu vào tệp trong Python

Ghi dữ liệu danh sách vào CSV

Hãy khám phá cách thêm một hàng dữ liệu với

file.write["Python is awesome!"] 
1 và nhiều hàng dữ liệu với
file.write["Python is awesome!"] 
2

Sử dụng writerow[] cho một hàng

Để ghi vào tệp CSV, chúng tôi cần mở tệp, tạo đối tượng người ghi và cập nhật tệp. Hãy chạy một ví dụ

# import
import csv

# Create header and data variables
header = ['last_name', 'first_name', 'zip_code', 'spending']
data = ['Doe', 'John', 546000, 76]

with open['customers.csv', 'w', encoding='UTF8', newline=''] as file:
    # Create a writer object
    writer = csv.writer[file]
    # Write the header
    writer.writerow[header]
    # Write the data
    writer.writerow[data]

Để biết thông tin chi tiết, luôn luôn nên đọc

Bây giờ, hãy khám phá cách ghi dữ liệu trong Python khi bạn cần thêm nhiều hàng dữ liệu

Sử dụng writerows[] cho nhiều hàng

Chúng ta có thể ghi nhiều hàng vào một tệp bằng phương thức

file.write["Python is awesome!"] 
2.  

# import
import csv

# Create header and data variables
header = ['last_name', 'first_name', 'zip_code', 'spending']
data = [
    ['Smith', 'Nicholas', 453560, 82],
    ['Thompson', 'Julia', 326908, 143],
    ['French', 'Michael', 678321, 189],
    ['Wright', 'Eva', 285674, 225],
    ['White', 'David', 213456, 167]
]

with open['customers.csv', 'w', encoding='UTF8', newline=''] as file:
    # Create a writer object
    writer = csv.writer[file]
    # Write the header
    writer.writerow[header]
    # Add multiple rows of data
    writer.writerows[data]

Chúng tôi vừa thêm một số hàng vào tệp của mình

Bạn có thể tìm thêm thông tin về phương pháp

file.write["Python is awesome!"] 
2 trong

Ghi dữ liệu từ điển vào CSV

Nếu mỗi hàng của tệp CSV là một từ điển, bạn có thể cập nhật tệp đó bằng cách sử dụng chức năng

file.write["Python is awesome!"] 
6 của mô-đun
file.write["Python is awesome!"] 
0. Ví dụ

# close the file
f.close[]
0

Và đó là tất cả những gì bạn phải làm

Nếu bạn muốn tìm hiểu thêm về chủ đề này, đừng quên tham khảo khóa học làm việc với tệp và thư mục trong Python

Sử dụng pathlib để ghi tệp bằng Python

Bây giờ, hãy khám phá cách sử dụng mô-đun

file.write["Python is awesome!"] 
7 để ghi vào một tệp trong Python. Nếu bạn không quen thuộc với pathlib, hãy xem bài viết trước của tôi về đổi tên tệp bằng Python

Điều quan trọng cần lưu ý là

file.write["Python is awesome!"] 
7 có tính di động cao hơn giữa các hệ điều hành và do đó được ưu tiên hơn

Sử dụng write_text[]

Chúng ta có thể sử dụng phương pháp

file.write["Python is awesome!"] 
9 từ
file.write["Python is awesome!"] 
7 để ghi văn bản vào tệp

Đầu tiên, chúng ta sử dụng lớp

# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
1 từ
file.write["Python is awesome!"] 
7 để truy cập
with open["file.txt", "w"] as file:
1, và thứ hai, chúng ta gọi phương thức
# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
4 để nối thêm văn bản vào tệp. Hãy chạy một ví dụ

# close the file
f.close[]
1

Tiếp theo, chúng tôi sẽ sử dụng các hàm

# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
5,
# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
6 và
# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
7 để lọc các tệp mà chúng tôi muốn cập nhật. Chúng tôi sẽ chỉ cập nhật những tệp đáp ứng các điều kiện nhất định

Hàm

# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
5 sẽ trả về giá trị Boolean là True nếu đường dẫn trỏ đến tệp thông thường và
# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
9 nếu không. Hàm
# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
6 sẽ trả về một đường dẫn mới với tên tệp đã thay đổi. Cuối cùng,
# Open and read the file after writing:
with open["file.txt", "r"] as file:
    print[file.read[]]
7 sẽ tạo một đường dẫn mới với phần mở rộng tệp mới

Bạn có thể đọc chi tiết về các phương thức này trong tài liệu Python

Hãy chạy một ví dụ minh họa tất cả điều này. Chúng tôi sẽ mở tệp văn bản của mình, viết một số văn bản, đổi tên tệp và lưu dưới dạng tệp CSV

# close the file
f.close[]
2

Thao tác tệp trong Python

Trong phần cuối cùng này, chúng ta sẽ khám phá thao tác tệp trong Python bằng cách sử dụng các phương thức

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
2 và
# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
3

Sử dụng tell[] để lấy vị trí hiện tại

Phương pháp

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
2 có thể được sử dụng để lấy vị trí hiện tại của phần xử lý tệp trong tệp

Nó giúp xác định nơi dữ liệu sẽ được đọc hoặc ghi trong tệp theo byte từ đầu tệp

Bạn có thể coi phần xử lý tệp như một con trỏ xác định nơi dữ liệu được đọc hoặc ghi trong tệp. Phương thức này không nhận tham số và trả về một số nguyên

Hãy chạy một ví dụ

# close the file
f.close[]
3

Bạn có thể tìm thêm thông tin trong

Sử dụng seek[] để thay đổi vị trí luồng

Phương pháp

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
3 được sử dụng để thay đổi vị trí luồng. Luồng là một chuỗi các phần tử dữ liệu được cung cấp theo thời gian và vị trí luồng đề cập đến vị trí của con trỏ trong tệp

Phương pháp

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
3 hữu ích nếu bạn cần đọc hoặc ghi từ một phần cụ thể của tệp. Cú pháp là

# close the file
f.close[]
4

Điều đó có nghĩa là gì?

  • # open file
    with open["file2.txt", "a"] as file:
        # write to file
        file.writelines[["Hey there!", "LearnPython.com is awesome!"]]
    
    #open and read the file after the appending:
    with open["file2.txt", "r"] as file:
        print[file.read[]]
    
    7 là con trỏ tệp
  • # open file
    with open["file2.txt", "a"] as file:
        # write to file
        file.writelines[["Hey there!", "LearnPython.com is awesome!"]]
    
    #open and read the file after the appending:
    with open["file2.txt", "r"] as file:
        print[file.read[]]
    
    8 là số vị trí bạn muốn di chuyển. Nó có thể là số dương [tiến] hoặc âm [đi ngược]
  • # open file
    with open["file2.txt", "a"] as file:
        # write to file
        file.writelines[["Hey there!", "LearnPython.com is awesome!"]]
    
    #open and read the file after the appending:
    with open["file2.txt", "r"] as file:
        print[file.read[]]
    
    9 xác định điểm tham chiếu của bạn. Nó có thể
    • 0. Phần đầu của tập tin
    • 1. Vị trí hiện tại trong tệp
    • 2. Phần cuối của tập tin

Nếu bạn bỏ qua tham số wherece, giá trị mặc định là 0

Khi ta mở tệp thì vị trí là phần đầu của tệp. Khi chúng tôi làm việc với nó, vị trí tiến bộ

Hàm

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
3 rất hữu ích khi chúng ta cần duyệt một tệp đang mở. Hãy chạy một ví dụ nhanh

# close the file
f.close[]
5

Bạn có thể tìm thêm thông tin trong

Tìm hiểu thêm về cách làm việc với tệp trong Python

Chúng tôi đề cập đến rất nhiều nền tảng trong bài viết này. Bạn đang có một số kiến ​​thức vững chắc về thao tác tệp với Python

Bây giờ bạn đã biết cách ghi vào tệp bằng Python và cách ghi dữ liệu vào tệp bằng Python. Chúng tôi cũng khám phá ngắn gọn các phương pháp

# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
2 và
# open file
with open["file2.txt", "a"] as file:
    # write to file
    file.writelines[["Hey there!", "LearnPython.com is awesome!"]]

#open and read the file after the appending:
with open["file2.txt", "r"] as file:
    print[file.read[]]
3 để thao tác với một tệp

Đừng quên xem khóa học của chúng tôi về Làm việc với Tệp và Thư mục trong Python để đào sâu và củng cố kiến ​​thức Python của bạn

Chủ Đề