Hướng dẫn how to remove double quotes from list in python - cách xóa dấu ngoặc kép khỏi danh sách trong python

Tôi đang cố gắng để có được một số dữ liệu trong một danh sách các từ điển. Dữ liệu đến từ tệp CSV để tất cả là chuỗi. Tất cả các khóa trong tệp đều có các qoutes gấp đôi, nhưng vì đây là tất cả các chuỗi, tôi muốn xóa chúng để chúng trông như thế này trong từ điển:

{'key':value}

Thay vì điều này

{'"key"':value}

Tôi đã thử chỉ đơn giản là sử dụng chuỗi = chuỗi [1: -1], nhưng đây không phải là công việc ...

Đây là mã của tôi:

csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput

Tất cả các bản in tôi nhận được từ bản in tôi đều tốt, không có dấu ngoặc kép, nhưng khi tôi nối dữ liệu vào DataOutput, các trích dẫn đã trở lại!

Bất kỳ ý tưởng làm thế nào để làm cho chúng biến mất mãi mãi?

Giới thiệu

Có một số cách bạn có thể xóa trích dẫn từ một chuỗi trong Python. Bạn có thể cần phải loại bỏ tất cả các trích dẫn hoặc chỉ các trích dẫn xung quanh một chuỗi. Bạn cũng có thể cần phải xóa trích dẫn đơn hoặc đôi.

Trong bài viết ngắn này, chúng tôi đã biên soạn một danh sách toàn diện các phương thức bạn có thể sử dụng để xóa trích dẫn từ một chuỗi trong Python. Nó hoàn toàn tùy thuộc vào bạn mà bạn sẽ sử dụng. Xin lưu ý rằng các giải pháp chúng tôi đã liệt kê ở đây không được đặt hàng từ tốt nhất đến tồi tệ nhất. Mỗi giải pháp đều tốt miễn là nó đáp ứng nhu cầu của bạn trong một trường hợp cụ thể.

Cách xóa tất cả các trích dẫn khỏi một chuỗi trong Python

Trước hết, chúng ta hãy xem cách xóa tất cả các trích dẫn từ một chuỗi. Các giải pháp được liệt kê trong phần này có thể được thay đổi để làm việc với cả dấu ngoặc kép và kép. Nhưng, với mục đích của bài viết này, giả sử chúng ta có một chuỗi ví dụ có ba dấu ngoặc kép trong đó:

example_str = '"This is a string" with quotes"'

Trong phần này, chúng ta sẽ xem xét một số cách để loại bỏ tất cả

{'"key"':value}
1 khỏi
{'"key"':value}
2.

str.replace[]

Cách tiếp cận đầu tiên chúng ta sẽ thảo luận là sử dụng phương pháp

{'"key"':value}
3 trên
{'"key"':value}
2. Nó chấp nhận hai đối số - chuỗi chúng tôi muốn thay thế và chuỗi thay thế. Trong trường hợp này, chúng tôi sẽ thay thế dấu ngoặc kép [
{'"key"':value}
1] bằng một chuỗi trống:

new_str = example_str.replace['"', '']
print[new_str] # This is a string without quotes

{'"key"':value}
3 được sử dụng theo cách này sẽ loại bỏ tất cả các trích dẫn kép khỏi
{'"key"':value}
2.

Biểu cảm thường xuyên

Cách tiếp cận này sử dụng các biểu thức chính quy để xóa tất cả các trích dẫn từ một chuỗi. Trước khi chúng tôi bắt đầu sử dụng các biểu thức thông thường trong Python, trước tiên chúng tôi cần nhập mô -đun

{'"key"':value}
8:

import re

Sau đó, chúng ta có thể sử dụng phương thức

{'"key"':value}
9 để thay thế tất cả các lần xuất hiện của dấu ngoặc kép bằng chuỗi trống:

new_str = re.sub['"', '', example_str]
print[new_str] # This is a string without quotes

Điều này sẽ cung cấp cho chúng tôi

{'"key"':value}
2 mà không có bất kỳ trích dẫn nào trong đó.

str.join []

csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
1 là một phương pháp khác mà chúng ta có thể sử dụng để xóa tất cả các trích dẫn từ một chuỗi trong Python. Giải pháp này có cú pháp phức tạp hơn một chút so với các giải pháp khác nếu bạn chưa quen thuộc với phương pháp
csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
2. Về cơ bản, chúng ta sẽ đi qua ký tự
{'"key"':value}
2 theo từng ký tự và nối vào mỗi ký tự không phải là dấu ngoặc kép cho chuỗi trống. Bằng cách đó, chúng tôi sẽ nhận được
{'"key"':value}
2 mà không có bất kỳ trích dẫn nào trong đó:

new_str = ''.join[c for c in example_str if c not in '"']
print[new_str] # This is a string without quotes

Cách xóa trích dẫn xung quanh một chuỗi

Cho đến nay, chúng tôi đã thảo luận về một số cách tiếp cận về cách xóa tất cả các dấu ngoặc kép khỏi một chuỗi trong Python. Đó chỉ là một cách nhìn vào việc xóa trích dẫn từ một chuỗi. Có thể cho rằng, vấn đề phổ biến hơn là làm thế nào để loại bỏ các trích dẫn xung quanh một chuỗi. Phương pháp

csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5 được dự định để làm điều đó. Do đó, chúng tôi sẽ thảo luận về phương pháp
csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5 trong phần này.

Giả sử chúng tôi có cùng một cách chính xác

{'"key"':value}
2 như trong phần trước và chúng tôi chỉ muốn xóa các dấu ngoặc kép đầu tiên và cuối cùng:

example_str = '"This is a string" with quotes"'

Sử dụng

csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5 với dấu Qoutation kép làm đối số của nó sẽ loại bỏ các dấu ngoặc kép dẫn đầu và dấu ngoặc từ
{'"key"':value}
2:

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

new_str = example_str.strip['"']
print[new_str] # This is a string" without quotes

Lưu ý: Cho dù có bao nhiêu dấu ngoặc kép hàng đầu và/hoặc hàng đầu trong chuỗi,

csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5 sẽ loại bỏ tất cả chúng. No matter how many leading and/or leading quotation marks are in the string, the
csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5 will remove all of them.

Bên cạnh phương pháp

csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5 thông thường, cũng có hai trong số các dẫn xuất của nó -
example_str = '"This is a string" with quotes"'
2 và
example_str = '"This is a string" with quotes"'
3. Cái đầu tiên xóa tất cả các trích dẫn hàng đầu và phần thứ hai xóa tất cả các trích dẫn theo dõi:

{'"key"':value}
0

Sự kết luận

Trong bài viết ngắn này, chúng tôi đã có một cái nhìn toàn diện về cách xóa trích dẫn từ một chuỗi trong Python. Trước hết, chúng tôi đã giải thích cách xóa tất cả các trích dẫn khỏi một chuỗi bằng một số phương thức khác nhau -

{'"key"':value}
3,
csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
1 và
{'"key"':value}
9. Sau đó, chúng tôi đã xem xét phương pháp
csvDelimiter = ","
tsvDelimiter = "\t"
dataOutput = []

dataFile = open["browser-ww-monthly-201305-201405.csv","r"]

for line in dataFile:
    line = line[:-1]    # Removes \n after every line

    data = line.split[csvDelimiter]

    for i in data:
        if type[i] == str:    # Doesn't work, I also tried if isinstance[i, str]
                              # but that didn't work either.
            print i
            i = i[1:-1]
            print i
    dataOutput.append[{data[0] : data[1]}]

dataFile.close[]

print "Data output:\n"
print dataOutput
5, cũng như các dẫn xuất của nó
example_str = '"This is a string" with quotes"'
2 và
example_str = '"This is a string" with quotes"'
3.

Làm thế nào để bạn xóa trích dẫn từ một danh sách trong Python?

Để xóa các trích dẫn khỏi danh sách các chuỗi:..
Sử dụng danh sách hiểu để lặp lại trong danh sách ..
Sử dụng str. thay thế [] phương thức để xóa các trích dẫn khỏi mỗi chuỗi ..
Các mục trong danh sách mới sẽ không chứa báo giá ..

Làm thế nào để bạn in một chuỗi mà không có dấu ngoặc kép trong Python?

Dải [] nếu bạn muốn xóa các trích dẫn kèm theo khỏi một chuỗi trước khi in nó, bạn có thể gọi phương thức chuỗi.strip [] và truyền các ký tự trích dẫn đơn và đôi để bị tước từ đầu và cuối của đối tượng chuỗi trên đó nó được gọi là. Ví dụ, biểu thức '"Hello World"'.call the string. strip[] method and pass the single and double quotes characters to be stripped from the beginning and end of the string object on which it is called. For example, the expression '"hello world"'.

Làm thế nào để bạn xóa dấu ngoặc kép từ một chuỗi?

Để xóa trích dẫn kép ngay từ đầu và đầu của chuỗi, chúng ta có thể sử dụng biểu thức thông thường cụ thể hơn: chuỗi kết quả = input.replaceall ["^\" | \ "$", ""];Sau khi thực hiện ví dụ này, các lần xuất hiện của các trích dẫn kép ở đầu hoặc ở cuối chuỗi sẽ được thay thế bằng các chuỗi trống.String result = input. replaceAll["^\"|\"$", ""]; After executing this example, occurrences of double quotes at the beginning or at end of the String will be replaced by empty strings.

Làm thế nào để bạn xử lý các trích dẫn kép trong Python?

Bạn có thể đặt một ký tự dấu gạch chéo ngược theo sau là một trích dẫn [\ "hoặc \ ']., nhưng không được in.

Chủ Đề