Cách thay đổi tệp văn bản thành tệp python

Nếu bạn chưa làm như vậy, hãy cài đặt gói Pandas. Bạn có thể sử dụng lệnh sau để cài đặt gói Pandas trong Windows

pip install pandas

Bước 2. Chụp đường dẫn nơi tệp văn bản của bạn được lưu trữ

Tiếp theo, chụp lại đường dẫn nơi lưu trữ tệp văn bản trên máy tính của bạn

Dưới đây là ví dụ về đường dẫn lưu trữ tệp văn bản [được gọi là 'Product_List']

C. \Users\Ron\Desktop\Test\Product_List. txt

Bước 3. Chỉ định đường dẫn nơi tệp CSV mới sẽ được lưu

Bây giờ, bạn sẽ cần chỉ định đường dẫn nơi tệp CSV mới sẽ được lưu. Ví dụ

C. \Users\Ron\Desktop\Test\New_Products. csv

Bước 4. Chuyển đổi tệp văn bản thành CSV bằng Python

Cuối cùng, bạn có thể sử dụng mẫu bên dưới để tạo điều kiện thuận lợi cho việc chuyển đổi tệp văn bản của mình sang CSV

import pandas as pd

read_file = pd.read_csv [r'Path where the Text file is stored\File name.txt']
read_file.to_csv [r'Path where the CSV will be saved\File name.csv', index=None]

ví dụ của chúng tôi

  • Đường dẫn lưu trữ tệp văn bản là. C. \Users\Ron\Desktop\Test\Product_List. txt
    • Trong đó tên tệp là Product_List và phần mở rộng tệp là txt
  • Đường dẫn nơi CSV sẽ được lưu là. C. \Users\Ron\Desktop\Test\New_Products. csv
    • Trong đó tên tệp mới được tạo là New_Products và phần mở rộng tệp là csv

Vì vậy, đây là mã hoàn chỉnh để chuyển đổi tệp văn bản sang CSV cho ví dụ của chúng tôi [lưu ý rằng bạn sẽ cần sửa đổi đường dẫn .

import pandas as pd

read_file = pd.read_csv [r'C:\Users\Ron\Desktop\Test\Product_List.txt']
read_file.to_csv [r'C:\Users\Ron\Desktop\Test\New_Products.csv', index=None]

Khi bạn chạy mã bằng Python [được điều chỉnh theo đường dẫn của bạn], bạn sẽ nhận được tệp CSV tại vị trí đã chỉ định của mình

Giả sử rằng bạn có tệp văn bản liệt kê các trang web nhất định sau đây và bạn muốn chèn một trang web khác [chuỗi] vào một dòng mới vào tệp

tập tin đã cho

kiểm tra. txtTải xuống

Bạn định chèn, “Người làm nghề tự do. com” trong danh sách được cung cấp trong tệp trên mà không xóa tệp

Kịch bản 2. Chèn một câu mới vào cùng một dòng

Trong ví dụ trước, bạn muốn chèn một chuỗi vào một dòng mới, nếu bạn muốn chèn một chuỗi mới vào một vị trí nhất định trong một đoạn văn không phân biệt các dòng thì sao?. Ví dụ bạn có một file với các câu sau như hình bên dưới

Peter Piper picked a peck of pickled peppers.A peck of pickled peppers Peter Piper picked.Wheres the peck of pickled peppers Peter Piper picked.

Bạn muốn chèn một câu mới [ví dụ – If Peter Piper Pick a peck of pickled peppers] sau câu thứ hai. Vì vậy, đầu ra mong muốn là

Peter Piper picked a peck of pickled peppers.A peck of pickled peppers Peter Piper picked.If Peter Piper picked a peck of pickled peppers.Wheres the peck of pickled peppers Peter Piper picked.

Vì vậy, làm thế nào bạn sẽ hoàn thành các nhiệm vụ trên?

Trước khi chúng tôi tiếp tục xin lưu ý rằng

Bạn không thể chèn một chuỗi vào giữa tệp mà không viết lại nó. Bạn có thể thêm vào một tệp hoặc ghi đè lên một phần của nó bằng cách sử dụng phương thức seek[] mà chúng ta sẽ đi sâu vào sau một thời gian; . Đơn giản vậy thôi. ? . Đây là trường hợp trong tất cả các ngôn ngữ

Vì vậy, cách thực hành tốt nhất là

  • đọc từ tập tin,
  • thực hiện các sửa đổi cần thiết,
  • ghi nó ra một tệp mới [ví dụ: 'my_file. txt. tmp']. Điều này tốt hơn nhiều so với việc đọc toàn bộ tệp vào bộ nhớ, đặc biệt nếu tệp lớn
  • Khi tệp tạm thời được hoàn thành, hãy đổi tên nó thành cùng tên với tệp gốc

Đây là một cách hiệu quả và an toàn để làm điều đó bởi vì nếu vì bất kỳ lý do gì mà tệp ghi bị lỗi hoặc bị hủy bỏ thì bạn vẫn có tệp gốc chưa được chỉnh sửa của mình

Bây giờ chúng ta đã hiểu rõ vấn đề và cách tiếp cận phù hợp để thực hiện các sửa đổi, chúng ta hãy đi sâu vào các giải pháp và tìm hiểu cách chúng ta có thể triển khai khái niệm của mình trong Python

Giải pháp cho Kịch bản 1

❒ Cách 1. Sử dụng Phương thức seek[] Method

⁕ Định nghĩa và cách sử dụng phương thức seek[]

import pandas as pd

read_file = pd.read_csv [r'Path where the Text file is stored\File name.txt']
read_file.to_csv [r'Path where the CSV will be saved\File name.csv', index=None]
6 là một phương thức tệp Python cho phép bạn đặt vị trí tệp hiện tại trong luồng tệp. Nó cũng trả về vị trí mới

cú pháp

Hãy sử dụng phương pháp

import pandas as pd

read_file = pd.read_csv [r'Path where the Text file is stored\File name.txt']
read_file.to_csv [r'Path where the CSV will be saved\File name.csv', index=None]
6 để sửa đổi tệp của chúng tôi

⁕ Giải pháp

Trường hợp 1. Nối vào giữa của tệp.

with open['test.txt', 'r+'] as f:
    file = f.readlines[]
    for line in file:
        if 'Upwork' in line:
            pos = line.index['Upwork']
            file.insert[pos + 1, 'Freelancer.com\n']
    f.seek[0]
    f.writelines[file]
f.close[]

đầu ra

Trường hợp 2. Tùy thuộc vào Kết thúc của tệp

Nếu bạn chỉ muốn nối thêm vào tệp thì tất cả những gì bạn phải làm là mở tệp ở chế độ nối thêm và chèn chuỗi cần thiết

with open['test.txt', 'a'] as f:
    f.write['\nFreelancer.com']

đầu ra

Trường hợp 3. Tùy thuộc vào Phần đầu của Tệp

with open['test.txt', 'r+'] as f:
    file = f.readlines[]
    file.insert[0,'Freelancer.com\n']
    f.seek[0]
    f.writelines[file]

đầu ra

❒ Cách 2. Sử dụng Mô-đun fileinput

Một cách giải quyết khác để sửa đổi tệp là bạn có thể sử dụng mô-đun

Peter Piper picked a peck of pickled peppers.A peck of pickled peppers Peter Piper picked.If Peter Piper picked a peck of pickled peppers.Wheres the peck of pickled peppers Peter Piper picked.
0 của thư viện chuẩn Python cho phép bạn viết lại tệp bằng cách đặt đối số từ khóa
Peter Piper picked a peck of pickled peppers.A peck of pickled peppers Peter Piper picked.If Peter Piper picked a peck of pickled peppers.Wheres the peck of pickled peppers Peter Piper picked.
8 là
Peter Piper picked a peck of pickled peppers.A peck of pickled peppers Peter Piper picked.If Peter Piper picked a peck of pickled peppers.Wheres the peck of pickled peppers Peter Piper picked.
9

import pandas as pd

read_file = pd.read_csv [r'Path where the Text file is stored\File name.txt']
read_file.to_csv [r'Path where the CSV will be saved\File name.csv', index=None]
1

đầu ra

❒ Cách 3. Sử dụng Phương thức splitlines[]

❖ 

with open['test.txt', 'r+'] as f:
    file = f.readlines[]
    for line in file:
        if 'Upwork' in line:
            pos = line.index['Upwork']
            file.insert[pos + 1, 'Freelancer.com\n']
    f.seek[0]
    f.writelines[file]
f.close[]
0 là một phương thức trong Python dùng để phân tách một chuỗi bị ngắt ở ranh giới dòng. Nó trả về một danh sách các dòng, phá vỡ ranh giới dòng

import pandas as pd

read_file = pd.read_csv [r'Path where the Text file is stored\File name.txt']
read_file.to_csv [r'Path where the CSV will be saved\File name.csv', index=None]
3

đầu ra

Giải pháp cho Kịch bản 2

Bây giờ chúng ta hãy xem nhanh giải pháp cho tình huống thứ hai, trong đó chúng ta sẽ chèn một câu mới, bất kể số dòng là bao nhiêu. Một giải pháp đơn giản cho vấn đề này là tách các câu với dấu chấm làm dấu phân cách và cũng lưu dấu phân cách cùng với văn bản. Sau đó, bạn có thể chèn câu bổ sung vào khoảng trống cần thiết và cuối cùng ghi nó vào tệp

import pandas as pd

read_file = pd.read_csv [r'Path where the Text file is stored\File name.txt']
read_file.to_csv [r'Path where the CSV will be saved\File name.csv', index=None]
4

đầu ra

Peter Piper picked a peck of pickled peppers.A peck of pickled peppers Peter Piper picked.If Peter Piper picked a peck of pickled peppers.Wheres the peck of pickled peppers Peter Piper picked.

Bạn có thể muốn xem một kịch bản khác được mô tả trong bài đăng sau

Làm cách nào để tìm kiếm và thay thế một dòng trong tệp bằng Python?

Sự kết luận

Trong bài viết này, chúng tôi đã thảo luận về cách sửa đổi tệp trong Python với sự trợ giúp của một vài tình huống. Chúng tôi đã sử dụng các cách sau để đạt được giải pháp cuối cùng

  • Sử dụng phương thức seek[]
  • Sử dụng Mô-đun fileinput
  • Sử dụng Phương thức splitlines[]
  • Sử dụng mô-đun regex và các phương thức split[] và insert[]

Cùng với đó, chúng ta đã đi đến phần cuối của bài viết này và tôi hy vọng bạn có thể sửa đổi các tệp trong Python một cách dễ dàng sau khi đọc bài viết này. Hãy theo dõi và đăng ký để có nhiều bài viết và thảo luận thú vị hơn

🌍 Hướng dẫn liên quan. Python – Cách cập nhật và thay thế văn bản trong tệp

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Chủ Đề