Khám phá cách ghi vào tệp bằng Python bằng phương thức write () và writelines () cũng như mô-đun pathlib và csv.

Bạn đang xem : ghi dữ liệu vào tệp python

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 tiết kiệm được những rắc rối khi thực hiện thủ công. Trong bài viết này, bạn sẽ học cách ghi vào một tệp bằng Python.

Trước khi tìm hiểu sâu về cách ghi vào tệp bằng 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 bất kỳ hệ điều hành nào.

Bạn nê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 bằng Python 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 thức write () .

Sử dụng write () để ghi vào tệp bằng Python

Bước đầu tiên để viết một tệp bằng Python là mở nó, có 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ở tệp. Cách đầu tiên là sử dụng open () , như được hiển thị bên dưới:

# mở tệp ở chế độ ghi
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 () :

# đóng tệp
f.close ()

Sẽ ngắn hơn khi sử dụng câu lệnh with , vì chúng ta không cần gọi phương thức close () .

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

với open ("file.txt", "w") dưới dạng tệp:

Dòng mã trên sẽ mở file.txt và sẽ gán trình xử lý tệp cho biến có tên là tệp .

Sau đó, chúng tôi có thể gọi phương thức write () để sửa đổi tệp của chúng tôi theo chương trình.

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

file.write ("Python thật tuyệt vời!")

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 read () , như được hiển thị bên dưới:

# Mở và đọc tệp sau khi ghi:
với open ("file.txt", "r") dưới dạng tệp:
    print (file.read ())

Điều quan trọng cần lưu ý là các tham số trong hàm open () sẽ quyết định nơi phương thức write () sẽ hoạt động.

Nếu bạn muốn tìm hiểu thêm về cách viết tệp bằng Python bằng phương thức write () , 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à writelines () . Phương pháp này thêm các điều khoản của danh sách theo cách có lập trình. Hãy chạy một ví dụ:

# mở tệp
với open ("file2.txt", "a") dưới dạng tệp:
    # ghi vào tệp
    file.writelines (["Chào bạn!", "LearnPython.com thật tuyệt!"])

# mở và đọc tệp sau khi bổ sung:
với open ("file2.txt", "r") dưới dạng tệp:
    print (file.read ())

Sau khi kiểm tra đầu ra, bạn sẽ nhận thấy rằng writelines () không thêm bất kỳ dấu phân cách dòng nào theo mặc định; chúng ta phải chỉ định dấu phân cách dòng. Chúng tôi có thể sửa đổi mã của mình như sau:

# mở và ghi vào tệp
với open ("file2.txt", "a") dưới dạng tệp:
    file.writelines (["Chào bạn! \ n", "LearnPython.com thật tuyệt! \ n"])

# mở và đọc tệp sau khi bổ sung:
với open ("file2.txt", "r") dưới dạng tệp:
    print (file.read ())

Một cách làm hiệu quả và mang tính Pythonic hơn là:

# mở tệp
với open ("file2.txt", "a") dưới dạng tệp:
    # đặt danh sách các dòng để thêm:
    lines = ["Xin chào!", "LearnPython.com thật tuyệt vời!"]
    # ghi vào tệp và thêm dấu phân tách
    file.writelines (s + '\ n' cho s ở dòng)

# mở và đọc tệp sau khi bổ sung:
với open ("file2.txt", "r") dưới dạng tệp:
    print (file.read ())

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

Xem Thêm  Ví dụ về bảng thả SQL với T-SQL và SQL Server Management Studio - thả một bảng trong sql

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à một chuyên gia dữ liệu, bạn chắc chắn đã gặp loại tệp này. Tệp CSV là một 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 nâng cao 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 csv 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 cùng khám phá một số cách để ghi dữ liệu vào tệp bằng Python.

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

Hãy cùng khám phá cách thêm một hàng dữ liệu bằng writerow () và nhiều hàng dữ liệu bằng writerows () .

Sử dụng writerow () cho một Hàng đơn

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

# nhập khẩu
nhập csv

# Tạo tiêu đề và biến dữ liệu
header = ['last_name', 'first_name', 'zip_code', 'chi tiêu']
data = ['Doe', 'John', 546000, 76]

mở ('customer.csv', 'w', encoding = 'UTF8', newline = '') dưới dạng tệp:
    # Tạo đối tượng người viết
    nhà văn = csv.writer (tệp)
    # Viết tiêu đề
    writer.writerow (tiêu đề)
    # Viết dữ liệu
    riter.writerow (dữ liệu)

Để biết thông tin chi tiết, bạn nên đọc tài liệu .

Bây giờ, hãy khám phá cách viết dữ liệu bằng 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 tôi có thể ghi nhiều hàng vào một tệp bằng phương thức writerows () :

# nhập khẩu
nhập csv

# Tạo tiêu đề và biến dữ liệu
header = ['last_name', 'first_name', 'zip_code', 'chi tiêu']
dữ liệu = [
    ['Smith', 'Nicholas', 453560, 82],
    ['Thompson', 'Julia', 326908, 143],
    ['Tiếng Pháp', 'Michael', 678321, 189],
    ['Được rồi', 'Eva', 285674, 225],
    ['White', 'David', 213456, 167]
]

mở ('customer.csv', 'w', encoding = 'UTF8', newline = '') dưới dạng tệp:
    # Tạo đối tượng người viết
    nhà văn = csv.writer (tệp)
    # Viết tiêu đề
    writer.writerow (tiêu đề)
    # Thêm nhiều hàng dữ liệu
    riter.writerows (dữ liệu)

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 thức writerows () trong tài liệu .

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 hàm dictWriter () của mô-đun csv . Ví dụ:

# nhập khẩu
nhập csv

# tiêu đề csv
fieldnames = ['last_name', 'first_name', 'zip_code', 'Payment']

# dữ liệu csv
hàng = [{
    'last_name': 'bloggs',
    'first_name': 'Joe',
    'zip_code': 986542,
    'chi tiêu': 367
}, {
    'last_name': 'Xà phòng',
    'first_name': 'Bob',
    'zip_code': 567890,
    'chi tiêu': 287
}, {
    'last_name': 'farnsbarns',
    'first_name': 'Charlie',
    'zip_code': 123456,
    'chi tiêu': 245
}]

với open ('customer.csv', 'w', encoding = 'UTF8', newline = '') là f:
    # Tạo đối tượng người viết
    nhà văn = csv.DictWriter (f, fieldnames = fieldnames)
    # Viết tiêu đề
    nhà văn.writeheader ()
    # Viết dữ liệu từ từ điển
    riter.writerows (hàng)

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 xem khóa học về làm việc với tệp và thư mục bằng Python .

Xem Thêm  Font Awesome Biểu tượng wechat - HTML, CSS Class fa fa wechat, fa fa Biểu tượng Mã có kích thước khác nhau - phông chữ biểu tượng trò chuyện tuyệt vời

Sử dụng đường dẫn để viết tệp bằng Python

Bây giờ, hãy khám phá cách sử dụng mô-đun pathlib để ghi vào tệp bằng Python. Nếu bạn chưa quen 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à pathlib 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 tôi có thể sử dụng phương thức Path (). write_text () từ pathlib để ghi văn bản vào tệp.

Đầu tiên, chúng tôi sử dụng lớp Path từ pathlib để truy cập file.txt và thứ hai, chúng tôi gọi write_text ( ) để nối văn bản vào tệp. Hãy chạy một ví dụ:

# nhập khẩu

từ đường dẫn nhập pathlib

# Mở tệp và thêm văn bản vào tệp

Đường dẫn ('file.txt'). Write_text ('Chào mừng bạn đến với LearnPython.com')

Tiếp theo, chúng tôi sẽ sử dụng các hàm is_file () , with_name () with_suffix () để lọc các tệp 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 is_file () sẽ trả về giá trị Boolean là True nếu đường dẫn trỏ đến tệp thông thường và False nếu không. CácHàm with_name () sẽ trả về một đường dẫn mới với tên tệp đã thay đổi. Cuối cùng, with_suffix () 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 pháp này trong tài liệu Python .

Hãy chạy một ví dụ minh họa tất cả những đ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.

# nhập khẩu
từ đường dẫn nhập pathlib

# đặt thư mục
path = Path.cwd () / 'file.txt'

# Kiểm tra xem tệp có phải là tệp không
if path.is_file ():
    # thêm văn bản
    path.write_text ('Chào mừng bạn đến với LearnPython.com')
    # đổi tên tệp với phần mở rộng mới
    path.replace (path.with_name ('new_file'). with_suffix ('. csv'))

Thao tác tệp bằng Python

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

Sử dụng tell () để có được vị trí hiện tại

Phương thức tell () có thể được sử dụng để lấy vị trí hiện tại của tệp xử lý trong tệp.

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

Bạn có thể coi 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ụ:

# Mở tệp ở chế độ đọc
với open ("file.txt", "r") dưới dạng tệp:
    # vị trí in của tay cầm
    print (file.tell ())
    # bản in 0

Bạn có thể tìm thêm thông tin trong tài liệu Python .

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

Phương thức seek () đượ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ó sẵn theo thời gian và vị trí luồng là vị trí của con trỏ trong tệp.

Phương thức seek () rất 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à:

 fp.seek (bù trừ, khi đó) 

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

  • fp là con trỏ tệp.
  • offset là số vị trí bạn muốn di chuyển. Nó có thể là một số dương (tiến lên) hoặc âm (đi lùi).
  • whence xác định điểm tham chiếu của bạn. Nó có thể:
    • 0: Phần đầu của tệp.
    • 1: Vị trí hiện tại trong tệp.
    • 2: Phần cuối của tệp.
Xem Thêm  Khóa chính và khóa ngoại trong MySQL được giải thích với các ví dụ - khóa chính và khóa ngoại trong mysql

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

Khi chúng tôi mở tệp, vị trí là phần đầu của tệp. Khi chúng tôi làm việc với nó, vị trí sẽ tăng lên.

Hàm seek () rất hữu ích khi chúng ta cần xem một tệp đang mở. Hãy chạy một ví dụ nhanh:

# Mở tệp tin
với open ("file.txt", "r") dưới dạng tệp:
    file.seek (4)
    print (file.readline ())

Bạn có thể tìm thêm thông tin trong tài liệu Python.

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

Chúng tôi đã đề cập rất nhiều điều 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.

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 thức tell () seek () để thao tác 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!


Xem thêm những thông tin liên quan đến chủ đề ghi dữ liệu vào tệp python

Cơ bản Python | Bài 44: Ghi dữ liệu vào file txt

  • Tác giả: eRSVN
  • Ngày đăng: 2019-01-01
  • Đánh giá: 4 ⭐ ( 1775 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cơ bản Python | Bài 44: Ghi dữ liệu vào file txt

    Tự học Python, tìm hiểu về python, python trong Dynamo, pythong trong Revit

    ————————————————-
    Mọi liên hệ qua các kênh sau:
    1. Fanpage: https://facebook.com/revitstructurevi…
    2. Email: revitstructurevietnam@gmail.com | smarshome@gmail.com
    3. Website: https://ersvn.net

    ———————————————-
    Mọi câu hỏi thắc mắc về khóa học hoặc video vui lòng gửi về website https://ersvn.net. Cảm ơn.

    dynamo,revit,revit structure,bim,list,dánh sách,revit mep,revit architecture,kiến trúc,xây dựng,
    kết cấu,building,automatic,technology,it,excel,point,surface,plane,solid,revit mep,hvac,điện,nước,thông gió
    ,điều hòa,chiếu sáng,phòng cháy chữa cháy,fabrication part,bim,tự học revit,floor,wall,roof,family revit,python

Ghi File trong Python

  • Tác giả: laptrinhtudau.com
  • Đánh giá: 4 ⭐ ( 7119 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ghi File trong Python – Lập Trình Từ Đầu a Xử lý File Python

Bài 15: Đọc ghi file trong Python

  • Tác giả: vncoder.vn
  • Đánh giá: 5 ⭐ ( 6021 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Xử lý file trong Python không khó nếu bạn đã là một lập trình viên chuyên nghiệp, đã từng làm quen và xử lý file ở các ngôn ngữ khác. Tuy nhiên, dù khó hay dễ bạn cũng cần phải bắt đầu với những cú pháp cơ bản nhất do Python quy định.

Ghi file trong python

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 3 ⭐ ( 7208 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách xử lý file trong Python. Bạn sẽ học được các cách ghi vào file trong python như ghi chèn file, ghi đè file, cách dùng các phương thức như write(), writelines() để ghi file, cũng như các

Bài 8. Thao tác với tệp (cơ bản)

  • Tác giả: python.dainganxanh.com
  • Đánh giá: 3 ⭐ ( 9465 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Đọc ghi file trong Python

  • Tác giả: nguyenvanhieu.vn
  • Đánh giá: 5 ⭐ ( 3145 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đọc ghi file trong Python hoặc trong bất kỳ ngôn ngữ nào khác là một thao tác thường xuyên được sử dụng trong quá trình làm việc. Bài viết này sẽ hướng dẫn

Ghi (write), tạo (create) và xóa (delete) tập tin (file) với Python

  • Tác giả: gochocit.com
  • Đánh giá: 5 ⭐ ( 2564 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ghi (write), tạo (create) và xóa (delete) file với Python. Hàm write(), writelines() trong Python. Delete file trong Python với os module.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php