Xóa dấu ngoặc đơn khỏi khung dữ liệu python

Hướng dẫn này sẽ trình bày các phương pháp để loại bỏ một tập hợp các dấu ngoặc đơn khỏi một chuỗi cụ thể trong Python

Xóa dấu ngoặc đơn khỏi chuỗi bằng Thao tác chuỗi trong Python

Mặc định chúng ta có sẵn nhiều hàm để thực hiện thao tác chuỗi trong Python. Đối với vấn đề cụ thể này, chúng ta có thể sử dụng hàm

This is a string
7 trong Python

Hàm

This is a string
7 thay thế một chuỗi hoặc ký tự bên trong chuỗi chính của chúng ta bằng một chuỗi hoặc ký tự khác. Hàm này nhận hai đối số. giá trị cũ và giá trị mới. Nó thay thế giá trị cũ bằng giá trị mới và trả về chuỗi mới

Đoạn mã ví dụ sau cho chúng ta thấy cách xóa một tập hợp các dấu ngoặc đơn khỏi chuỗi của chúng ta bằng hàm

This is a string
7

string = "[This is [a] string]"
string = string.replace["[",""].replace["]",""]
print[string]

đầu ra

This is a string

Chúng tôi đã xóa dấu ngoặc đơn bên trong biến

This is a string
0 của mình bằng cách sử dụng hàm
This is a string
1 trong mã ở trên. Chúng tôi đã đạt được mục tiêu của mình bằng cách thay thế dấu ngoặc đơn mở và đóng bằng một chuỗi trống và lưu trữ giá trị trả về bên trong chuỗi ban đầu của chúng tôi

Xóa dấu ngoặc đơn khỏi chuỗi bằng biểu thức chính quy trong Python

Chúng ta cũng có thể đạt được kết quả tương tự như ví dụ trước bằng cách sử dụng các biểu thức chính quy trong Python. Để sử dụng biểu thức chính quy, trước tiên chúng ta phải nhập mô-đun

This is a string
2 vào mã của mình. Hàm
This is a string
0 có thể được sử dụng tại đây

Hàm này lấy mẫu, chuỗi thay thế và chuỗi gốc;

Chương trình ví dụ sau đây cho chúng ta thấy cách sử dụng hàm

This is a string
0 để xóa dấu ngoặc đơn khỏi chuỗi

import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]

đầu ra

This is a string

Chúng tôi đã xóa dấu ngoặc đơn khỏi biến

This is a string
0 của mình bằng cách sử dụng hàm
This is a string
0 trong mã ở trên. Chúng tôi đã đạt được mục tiêu của mình bằng cách thay thế dấu ngoặc đơn mở và đóng bằng một chuỗi trống và lưu trữ giá trị trả về bên trong chuỗi ban đầu của chúng tôi

Mặc dù cách tiếp cận này hơi phức tạp và đòi hỏi một số hiểu biết về khái niệm cơ bản của biểu thức chính quy trong Python, nhưng cách tiếp cận này là cách được khuyên dùng nhất. Biểu thức chính quy có nhiều ứng dụng hơn so với hàm

This is a string
7 đơn giản cho chuỗi. Mọi lập trình viên Python giỏi ít nhất phải có hiểu biết cơ bản về các biểu thức chính quy

Rivers Clothing có tệp CSV chứa tất cả nhân viên của họ. Định dạng hiện tại là tên [tên đệm] và họ [ví dụ: Martin [Robert] Simpson]. Tuy nhiên, họ muốn thiết kế thay đổi

Đoạn trích của emps. csv

emp_name0Martin [Robert] Simpson1Howie [George] Smith2Alice [May] Jones3Micah [Ray] Hamilton4Joey [Jon] Howard

Hãy cung cấp cho họ hai [2] tùy chọn để chọn

💬 câu hỏi. Làm thế nào chúng ta sẽ viết mã để loại bỏ văn bản trong dấu ngoặc đơn?

Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau

  • Phương pháp 1. Sử dụng
    This is a string
    
    5 và cắt lát
  • Phương pháp 2. Sử dụng
    This is a string
    
    6
  • Phương pháp 3. Sử dụng
    This is a string
    
    7
  • Thưởng. Cập nhật khung dữ liệu

Phương pháp 1. Sử dụng find[] và cắt lát

Ví dụ này sử dụng phương pháp

This is a string
5 để định vị và xóa văn bản bên trong một chuỗi. Nó trả về một số nguyên với vị trí nếu tìm thấy hoặc -1 nếu không tìm thấy. Cắt lát được sử dụng để định dạng kết quả

Trong ví dụ này, hãy sử dụng tên của nhân viên đầu tiên để kiểm tra với

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
1

lựa chọn 1. Xóa văn bản và dấu ngoặc

Tùy chọn này sẽ định dạng tên là. Martin Simpson

________số 8

Dòng đầu tiên trong đoạn mã trên khai báo tên của một nhân viên. Sau đó, hàm

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
2 được thêm vào để xóa mọi ký tự khoảng trắng khỏi chuỗi. Điều này mang lại cho chúng tôi đầu ra sau

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
3

Hai [2] dòng sau xác định vị trí xuất hiện đầu tiên của cả hai ký tự

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
4 và
import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
5. Kết quả lần lượt lưu vào
import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
6 và
import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
7. Nếu xuất ra thiết bị đầu cuối, màn hình sau

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
8

Chúng ta có thể kết luận rằng ký tự

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
4 được tìm thấy ở vị trí 6 và ký tự
import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
5 được tìm thấy ở vị trí 13

Các dòng sau xóa văn bản bên trong dấu ngoặc [cũng như dấu ngoặc]. Đầu ra được định dạng là tên và họ bằng cách sử dụng

This is a string
81 và
This is a string
82. Kết quả lưu vào
This is a string
83 và xuất ra thiết bị đầu cuối

This is a string
84

Hãy để mã này hoạt động và cập nhật tệp

This is a string
85 được tạo trước đó

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"

Dòng đầu tiên trong đoạn mã trên nhập thư viện gấu trúc

Dòng sau đọc trong tệp

This is a string
85 vào DataFrame,
This is a string
87

👉 Hướng dẫn đề xuất. Làm cách nào để đọc tệp CSV bằng Python?

Vòng lặp

This is a string
88 được khởi tạo để lặp qua từng hàng trong cột Khung dữ liệu
This is a string
89

Bên trong tuyên bố này, chúng tôi lấy mã được viết trước đó và tinh chỉnh nó. Thay vì sử dụng

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
2, chúng tôi sử dụng
This is a string
91 để xóa mọi khoảng trắng thừa và cắt lát được sử dụng để định dạng dữ liệu. Kết quả của tệp
This is a string
85 hiển thị bên dưới

emp_name0Martin Simpson1Howie Smith2Alice Jones3Micah Hamilton4Joey Howard

💡Các đoạn mã trên sẽ cần được sửa đổi để đáp ứng các yêu cầu cụ thể của bạn

Lựa chọn 2. Xóa văn bản Giữ dấu ngoặc

Tùy chọn này sẽ định dạng tên là

This is a string
93. Điều này có thể được thực hiện để phù hợp với việc sử dụng tên đệm cuối cùng. Ví dụ.
Martin [R. ] Simpson

This is a string
8

Mã này hoạt động tương tự như Tùy chọn 1 ở trên. Tuy nhiên, ở định dạng chuỗi f, các ký tự

This is a string
94 được thêm vào giữa họ và tên

This is a string
93

Phương thức chuỗi Python [Hướng dẫn cơ bản]


Xem video này trên YouTube

Phương pháp 2. Sử dụng chia[]

Ví dụ này sử dụng hàm

This is a string
6 để tách một chuỗi trên ký tự khoảng trắng, lưu nó dưới dạng Danh sách và xóa văn bản trong dấu ngoặc

lựa chọn 1. Xóa văn bản và dấu ngoặc

This is a string
9

Dòng đầu tiên sử dụng hàm

This is a string
6 tích hợp sẵn của Python để ngắt chuỗi trên một ký tự được chỉ định. Nếu không có đối số nào được thông qua, một ký tự khoảng trắng được giả định. Lưu kết quả dưới dạng Danh sách vào
This is a string
98

This is a string
99

Dòng sau cấu hình

This is a string
83. Tùy chọn này xóa văn bản bên trong dấu ngoặc [bao gồm cả dấu ngoặc]. Kết quả được xuất ra thiết bị đầu cuối

This is a string
84

Lựa chọn 2. Xóa văn bản Giữ dấu ngoặc

Dòng sau hiển thị

import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
022, loại bỏ dữ liệu giữa các dấu ngoặc và giữ nguyên các dấu ngoặc

This is a string
93

Hướng dẫn cơ bản để cắt lát trong Python


Xem video này trên YouTube

Phương pháp 3. sử dụng lại. phụ[]

Ví dụ này sử dụng hàm

import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
04 từ thư viện
import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
05 để xóa dữ liệu bên trong dấu ngoặc

lựa chọn 1. Xóa văn bản và dấu ngoặc

import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
0

Dòng đầu tiên trong đoạn mã trên nhập thư viện

import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
05. Thư viện này, cho phép chúng tôi sử dụng chức năng
This is a string
7 để xóa dữ liệu bên trong dấu ngoặc cũng như chính dấu ngoặc

Dòng sau xóa tất cả các ký tự khoảng trắng bằng cách sử dụng

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
2. Nếu xuất ra thiết bị đầu cuối, màn hình sau

import pandas as pd 

df = pd.read_csv['emps.csv']

for i in range[len[df]]:
    strt_pos = df['emp_name'].values[i].find['[']
    stop_pos = df['emp_name'].values[i].find[']']
    df['emp_name'].values[i] = f"{df['emp_name'].values[i][:strt_pos:].strip[]} {df['emp_name'].values[i][stop_pos+1:].strip[]}"
3

Tiếp theo, một mẫu

import re
string = "[This is [a] string]"
string = re.sub["[[]]","", string]
print[string]
05 được xác định để xóa các ký tự
This is a string
94 cũng như các ký tự trong cùng một. Sau đó, một ký tự khoảng trắng được thêm vào để phân tách tên với họ và kết quả được lưu vào
This is a string
83và xuất ra thiết bị đầu cuối

This is a string
84

Lựa chọn 2. Xóa văn bản Giữ dấu ngoặc

Một tùy chọn khác là xóa dữ liệu bên trong dấu ngoặc _______294 và để nguyên dấu ngoặc

This is a string
3____293

🤔Bạn có nhận ra sự khác nhau giữa Option 1 và Option 2 không?

5 kỹ năng phải có để trở thành lập trình viên [mà bạn chưa biết]


Xem video này trên YouTube

Thưởng. Cập nhật cột DataFrame

Điều gì sẽ xảy ra nếu Rivers Clothing muốn tên được định dạng như sau.

This is a string
36

This is a string
6emp_name0Martin [R. ] Simpson1Howie [G. ] Smith2Alice [M. ] Jones3Micah [R. ] Hamilton4Joey [J. ] Howard

10 phút để gấu trúc trong 5 phút [Được rồi 8]


Xem video này trên YouTube

Bản tóm tắt

Bài viết này đã cung cấp bốn [4] cách để loại bỏ dữ liệu giữa các dấu ngoặc để chọn cách phù hợp nhất cho yêu cầu viết mã của bạn

Chủ Đề