Hướng dẫn can you use split on a file python? - bạn có thể sử dụng phân tách trên tệp python không?

Python là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới. Một lý do cho sự phổ biến của nó là Python giúp bạn dễ dàng làm việc với dữ liệu.

Đọc dữ liệu từ tệp văn bản là một nhiệm vụ thường xuyên trong Python. Trong bài đăng này, chúng tôi sẽ xem xét cách nhanh nhất để đọc và chia một tệp văn bản bằng Python. Chia dữ liệu sẽ chuyển đổi văn bản thành một danh sách, giúp làm việc dễ dàng hơn.

Chúng tôi cũng sẽ bao gồm một số phương thức khác để chia các tệp văn bản trong Python và giải thích cách thức và khi nào các phương pháp này hữu ích.

Trong các ví dụ sau, chúng tôi sẽ thấy Python có thể giúp chúng tôi làm chủ dữ liệu văn bản như thế nào. Tận dụng lợi thế của Python, nhiều chức năng tích hợp sẽ đơn giản hóa các nhiệm vụ của chúng tôi.

Giới thiệu phương thức Split ()

Cách nhanh nhất để phân chia văn bản trong Python là với phương thức Split (). Đây là một phương pháp tích hợp hữu ích để tách một chuỗi thành các phần riêng lẻ của nó.split() method. This is a built-in method that is useful for separating a string into its individual parts.

Phương thức chia () sẽ trả về một danh sách các phần tử trong một chuỗi. Theo mặc định, Python sử dụng khoảng trắng để phân chia chuỗi, nhưng bạn có thể cung cấp một dấu phân cách và chỉ định (các) ký tự nào sẽ sử dụng thay thế.

Ví dụ: dấu phẩy (,) thường được sử dụng để phân tách dữ liệu chuỗi. Đây là trường hợp với các tệp giá trị phân tách dấu phẩy (CSV). Bất cứ điều gì bạn chọn làm dấu phân cách, Python sẽ sử dụng để phân chia chuỗi.

Tách tệp văn bản với phương thức chia ()

Trong ví dụ đầu tiên của chúng tôi, chúng tôi có một tệp văn bản của dữ liệu nhân viên, bao gồm tên của nhân viên, số điện thoại và nghề nghiệp của họ.

Chúng tôi cần phải viết một chương trình Python có thể đọc thông tin được tạo ngẫu nhiên này và chia dữ liệu thành danh sách.

Hướng dẫn can you use split on a file python? - bạn có thể sử dụng phân tách trên tệp python không?

leadyee_data.txtlana Anderson 485-3094-88 Electricianelian Johnston 751-5845-87 Thiết kế nội thất -01 Nhà thiết kế nội thất
Lana Anderson 485-3094-88 Electrician
Elian Johnston 751-5845-87 Interior Designer
Henry Johnston 777-6561-52 Astronomer
Dale Johnston 248-1843-09 Journalist
Luke Owens 341-7471-63 Teacher
Amy Perry 494-3532-17 Electrician
Chloe Baker 588-7165-01 Interior Designer

Sau khi sử dụng một python với câu lệnh để mở tệp dữ liệu, chúng ta có thể lặp lại thông qua các nội dung của tệp với một vòng lặp. Khi dữ liệu được đọc, phương thức chia () được sử dụng để tách văn bản thành các từ.with statement to open the data file, we can iterate through the file’s contents with a for loop. Once the data is read, the split() method is used to separate the text into words.

Trong trường hợp của chúng tôi, văn bản được phân tách bằng khoảng trắng, đây là hành vi mặc định của phương thức chia ().

Ví dụ 1: Tách dữ liệu nhân viên với Python

with open("employee_data.txt",'r') as data_file:
    for line in data_file:
        data = line.split()
        print(data)

Đầu ra

['Lana', 'Anderson', '485-3094-88', 'Electrician']
['Elian', 'Johnston', '751-5845-87', 'Interior', 'Designer']
['Henry', 'Johnston', '777-6561-52', 'Astronomer']
['Dale', 'Johnston', '248-1843-09', 'Journalist']
['Luke', 'Owens', '341-7471-63', 'Teacher']
['Amy', 'Perry', '494-3532-17', 'Electrician']
['Chloe', 'Baker', '588-7165-01', 'Interior', 'Designer']

Chia dây với dấu phẩy

Chúng tôi cung cấp một phân tách tùy chọn cho phương thức chia () để chỉ định ký tự nào để phân chia chuỗi với. Phân đoạn mặc định là khoảng trắng.

Trong ví dụ tiếp theo, chúng tôi sẽ sử dụng dấu phẩy để phân chia dữ liệu điểm kiểm tra được đọc từ một tệp.

grades.txtJanet,100,50,69Thomas,99,76,100Kate,102,78,65
Janet,100,50,69
Thomas,99,76,100
Kate,102,78,65

Ví dụ 2: Tách điểm với dấu phẩy

with open("grades.txt",'r') as file:
    for line in file:
        grade_data = line.strip().split(',')
        print(grade_data)

Phương thức Dải () được sử dụng ở đây để loại bỏ ký tự mới (\ n) & nbsp; từ cuối dòng.strip() method is used here to remove the newline character (\n) from the end of the lines.

Đầu ra

['Janet', '100', '50', '69']
['Thomas', '99', '76', '100']
['Kate', '102', '78', '65']

Chia dây với dấu phẩy

Chúng tôi cung cấp một phân tách tùy chọn cho phương thức chia () để chỉ định ký tự nào để phân chia chuỗi với. Phân đoạn mặc định là khoảng trắng.splitlines() method is used to get a list of the lines in a text file. For the next examples, we’ll pretend we run a website that’s dedicated to a theatre company. We’re reading script data from text files and pushing it to the company’s website.

Trong ví dụ tiếp theo, chúng tôi sẽ sử dụng dấu phẩy để phân chia dữ liệu điểm kiểm tra được đọc từ một tệp.
O Romeo, Romeo, wherefore art thou Romeo?
Deny thy father and refuse thy name.
Or if thou wilt not, be but sworn my love
And I’ll no longer be a Capulet.

Ví dụ 2: Tách điểm với dấu phẩy

Phương thức Dải () được sử dụng ở đây để loại bỏ ký tự mới (\ n) & nbsp; từ cuối dòng.

with open("juliet.txt",'r') as script:
    speech = script.read().splitlines()

for line in speech:
    print(line)

Chia một tệp văn bản với splutlines ()

Phương thức splutLines () được sử dụng để có một danh sách các dòng trong một tệp văn bản. Đối với các ví dụ tiếp theo, chúng tôi sẽ giả vờ rằng chúng tôi điều hành một trang web mà dành riêng cho một công ty nhà hát. Chúng tôi đọc dữ liệu tập lệnh từ các tệp văn bản và đẩy nó đến trang web của công ty.yield keyword. When Python encounters a yield statement, it stores the state of the function until later, when the generator is called again.

Juliet.txto Romeo, Romeo, vì vậy, bạn đã từ chối cha mình và từ chối tên của bạn.

Chúng ta có thể đọc tệp và chia các dòng thành một danh sách với phương thức splutLines (). Sau đó, một vòng lặp cho vòng lặp có thể được sử dụng để in nội dung của dữ liệu văn bản.
But soft, what light through yonder window breaks?
It is the east, and Juliet is the sun.
Arise, fair sun, and kill the envious moon,
Who is already sick and pale with grief
That thou, her maid, art far more fair than she.

Ví dụ 3: Sử dụng splutlines () để đọc tệp văn bản

def generator_read(file_name):
    file = open(file_name,'r')
    while True:
        line = file.readline()
        if not line:
            file.close()
            break
        yield line

file_data = generator_read("romeo.txt")
for line in file_data:
    print(line.split())

Trong Python, một máy phát là một thói quen đặc biệt có thể được sử dụng để tạo ra một mảng. Một trình tạo tương tự như một hàm trả về một mảng, nhưng nó làm như vậy một phần tử tại một thời điểm.

Máy phát điện sử dụng từ khóa năng suất. Khi Python gặp phải một câu lệnh năng suất, nó sẽ lưu trữ trạng thái của hàm cho đến sau này, khi trình tạo được gọi lại.

Trong các ví dụ trước đây, chúng tôi đã phải sử dụng một vòng lặp để đọc các tệp văn bản. Chúng tôi có thể trao đổi vòng lặp cho một dòng mã duy nhất bằng cách sử dụng danh sách hiểu.

Danh sách Hiểu Syntax: my_list = [Biểu thức cho phần tử trong danh sách]
my_list = [expression for element in list]

Khi dữ liệu đã được lấy thông qua khả năng hiểu danh sách, chúng tôi sử dụng phương thức Split () để tách các dòng và thêm chúng vào danh sách mới.

Sử dụng cùng một tệp romeo.txt từ ví dụ trước, hãy để xem cách hiểu danh sách có thể cung cấp một cách tiếp cận thanh lịch hơn để chia tệp văn bản trong Python.

Ví dụ 5: Sử dụng danh sách hiểu để đọc dữ liệu tệp

with open("romeo.txt",'r') as file:
    lines = [line.strip() for line in file]

for line in lines:
    print(line.split())

Chia tệp văn bản thành nhiều tệp nhỏ hơn

Điều gì sẽ xảy ra nếu chúng ta có một tệp lớn mà chúng ta muốn chia thành các tệp nhỏ hơn? Chúng tôi chia một tệp lớn bằng Python bằng cách sử dụng các vòng lặp và cắt.

Với việc cắt danh sách, chúng tôi nói với Python, chúng tôi muốn làm việc với một loạt các yếu tố cụ thể từ một danh sách nhất định. Điều này được thực hiện bằng cách cung cấp một điểm bắt đầu và điểm kết thúc cho lát cắt.

Trong Python, một danh sách có thể được cắt bằng cách sử dụng một đại tràng. Trong ví dụ sau, chúng tôi sẽ sử dụng việc cắt danh sách để chia tệp văn bản thành nhiều tệp nhỏ hơn.

Tách một tệp với việc cắt danh sách

Một danh sách có thể được chia bằng cách sử dụng cắt danh sách Python. Để làm như vậy, trước tiên chúng tôi đọc tệp bằng phương thức readlines (). Tiếp theo, nửa trên của tệp được ghi vào một tệp mới có tên romeo_a.txt. Chúng tôi sẽ sử dụng Danh sách cắt trong vòng này để viết nửa đầu của tệp gốc vào một tệp mới.readlines() method. Next, the top half of the file is written to a new file called romeo_A.txt. We’ll use list slicing within this for loop to write the first half of the original file to a new file.

Sử dụng một vòng thứ hai cho vòng lặp, chúng tôi sẽ viết phần còn lại của văn bản vào một tệp khác. Để thực hiện lát cắt, chúng tôi cần phương thức Len () để tìm tổng số dòng trong tệp gốc.len() method to find the total number of lines in the original file.

Cuối cùng, phương thức int () được sử dụng để chuyển đổi kết quả của phân chia thành giá trị nguyên.int() method is used to convert the result of the division to an integer value.

Ví dụ 6: Chia một tệp văn bản duy nhất thành nhiều tệp văn bản

with open("romeo.txt",'r') as file:
    lines = file.readlines()

with open("romeo_A.txt",'w') as file:
    for line in lines[:int(len(lines)/2)]:
        file.write(line)

with open("romeo_B.txt",'w') as file:
    for line in lines[int(len(lines)/2):]:
        file.write(line)

Chạy chương trình này trong cùng thư mục với romeo.txt sẽ tạo các tệp văn bản sau.

romeo_a.txtbut mềm mại, ánh sáng xuyên qua cửa sổ phá vỡ? Đó là phương Đông, và Juliet là mặt trời.
But soft, what light through yonder window breaks?
It is the east, and Juliet is the sun.

romeo_b.txtarise, mặt trời công bằng, và giết chết mặt trăng ghen tị, người đã bị bệnh và tái nhợt với đau buồn, người giúp việc của cô, nghệ thuật công bằng hơn cô.
Arise, fair sun, and kill the envious moon,
Who is already sick and pale with grief
That thou, her maid, art far more fair than she.

Bài viết liên quan

Chúng tôi đã thấy cách sử dụng phương thức Split () để phân chia tệp văn bản. Ngoài ra, các ví dụ của chúng tôi đã chỉ ra cách tách () được sử dụng song song với các trình tạo python và danh sách hiểu để đọc các tệp lớn một cách thanh lịch hơn.

Tận dụng lợi thế của Python, nhiều phương thức tích hợp, chẳng hạn như Split () và Readlines (), cho phép chúng tôi xử lý các tệp văn bản nhanh hơn. Sử dụng các công cụ này sẽ giúp chúng tôi tiết kiệm thời gian và công sức.

Nếu bạn nghiêm túc về việc làm chủ Python, thì đó là một ý tưởng tốt để đầu tư một chút thời gian vào việc học cách sử dụng các phương pháp này để chuẩn bị các giải pháp của riêng bạn.

Nếu bạn muốn tìm hiểu thêm về lập trình với Python, vui lòng truy cập các hướng dẫn sau đây từ Python cho người mới bắt đầu.

  • Cách bình luận Python có thể thực hiện hoặc phá vỡ chương trình của bạn
  • Turbo tính phí mã của bạn với sự hiểu biết danh sách Python

Khuyến nghị đào tạo Python

Khóa học: Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn hướng dẫn cho người mới bắt đầu. Tìm hiểu làm thế nào để tạo các ứng dụng trong thế giới thực và làm chủ những điều cơ bản.

Bạn có thể chia tay hai thứ bằng Python không?

Phương pháp 1: Chia nhiều ký tự từ chuỗi bằng cách sử dụng re.split () Đây là phương pháp hiệu quả nhất và thường được sử dụng để phân chia nhiều ký tự cùng một lúc.Nó sử dụng regex (biểu thức thông thường) để làm điều này.Split multiple characters from string using re. split() This is the most efficient and commonly used method to split multiple characters at once. It makes use of regex(regular expressions) in order to do this.

Bạn có thể chia một tệp trong Python không?

Trong bài viết này, chúng ta sẽ xem cách chia một tệp thành một danh sách trong Python.Khi chúng tôi muốn từng dòng của tệp được liệt kê tại các vị trí liên tiếp trong đó mỗi dòng trở thành một phần tử trong tệp, phương thức splutLines () hoặc rstrip () được sử dụng để chia tệp thành một danh sách.the splitlines() or rstrip() method is used to split a file into a list.

Có thể chia () lấy hai đối số?

Phương thức chia () chấp nhận hai đối số.Đối số tùy chọn đầu tiên là dấu phân cách, chỉ định loại phân tách nào sẽ sử dụng để phân tách chuỗi.Nếu đối số này không được cung cấp, giá trị mặc định là bất kỳ khoảng trắng nào, có nghĩa là chuỗi sẽ phân chia bất cứ khi nào.. The first optional argument is separator , which specifies what kind of separator to use for splitting the string. If this argument is not provided, the default value is any whitespace, meaning the string will split whenever .