Как удалить один набор двойных кавычек из строк в Python

Формулировка проблемы и обзор решения

При работе с данными, можно встретить строку или список строк содержащие две двойные кавычки. Эта статья описывает как удалить один набор этих двойных кавычек.

Вопрос в следующем: как писать код чтобы убрать ненужный набор двойных кавычек?

Выполнить эту задачу можно одним из следующих способов:

  • Способ 1: Использовать startswith(), endswith(), и slising
  • Способ 2: Использовать регулярные выражения
  • Способ 3: Использовать replace()
  • Способ 4: Использовать list()
  • Способ 5: Использовать Pandas

Способ 1: Использовать startswith(), endswith(), и slising

Этот способ использует функции startswith() и endswith() в сочетании slising для удаления набора двойных кавычек из строк.

web_name = '""adasd""'
if web_name.startswith('"') and web_name.endswith('"'):
  web_name = web_name[1:-1]
print(web_name)

Первая строка представленного кода объявляет строку содержащую два набора двойных кавычек и сохраняет её в переменную web_name.

Следующая строка вызывает условный оператор if с функциями startswith() и endswith(). В обе функции передан аргумент ('""').

Это выражение проверяет начинается и заканчивается ли переменная web_name обозначенным аргументом. Если да, код переходит к следующей строчке и используя slicing, удаляет указанный символ.

Далее результат выводится в терминал.

Способ 2: Использовать регулярные выражения

Чтобы удалить один набор двойных кавычек в строке, можно использовать регулярные выражения — метод re.sub().

import re

string = '""Какой-то текст с двойными кавычками""'
string = re.sub(r'^"|"$','',string)
print(string)

Первой строкой мы импортируем библиотеку re. Она позволяет получить доступ к манипуляции строками чтобы получить нужный нам результат.

Далее объявляем строку с двойным набором двойных кавычек и помещаем её в переменную string.

В следующей строке используется re.sub() : находится двойной набор двойных кавычек, удаляется один и результат присваивается обратно переменной string.

Результат выводится в терминал.

Другой вариант использовать re.sub() и передать этой функции два аргумента:

  • строка которую нужно заменить и
  • строка на которую нужно заменить первую
import re

string = '""Какой-то текст с двойными кавычками""'
string = re.sub('""','"',string)
print(string)

Данный вариант заменяет двойные кавычки стоящие рядом не только вначале и в конце строки, но и в середине строки.

Способ 3: Использовать replace()

Этот метод использует replace() чтобы убрать один набор двойных кавычек из строки.

string = '""Всякий разный текст с лишними кавычками""'
string = string.replace('""', '"')
print(string)

В первой строке, как и в предыдущих примерах создаём строку и присваиваем её значение переменной string.

В следующей строке добавляем функцию replace() к переменной string и передаём ей два аргумента:

  • строка которую нужно заменить и
  • строка на которую нужно заменить первую

Результат сохраняем обратно в переменную string и далее выводим результат в терминал.

Способ 4: Использовать list()

Этот метод подразумевает обработку списка содержащего двойной набор двойных кавычек функцией list(). Этот вариант отличается от предыдущих тем, что удаляет все двойные кавычки.

user_emails = [""'asdasd@asdasd.com','asdasd@sdfdsf.ru','sdfdsf@sdfds.ch','sadas@dsvsdfds.tw'""]
user_emails = list(user_emails)
print(user_emails)

Первая строчка кода состоит из списка емэйлов пользователей с двойными кавычками вначале и конце. Этот список помещён в переменную user_emails.

Следующая строчка использует переменную user_emails в качестве аргумента функции list. Результат обработки сохраняется обратно в переменную user_emails, а затем выводится втерминал.

Обратите внимание: Конвертация списка содержащего двойные кавычки используя функцию list() приведёт к удалению всех двойных кавычек.

Способ 5: Использовать Pandas

Этот метод предполагает использование Pandas чтобы удалить все двойные кавычки из CSV файла.

Содержание CSV файла

Store,Category,Product,Number
""Toronto"",""Jeans"",""10534"",""15""
""Montreal"",""Tops"",""5415"",""32""
""Ottawa"",""Coats"",""98341"",""22""
import pandas as pd

df = pd.read_csv('quotes.csv', header = None)
df.replace('"', '', inplace = True, regex = True)
print(df)

В приведенном выше примере импортируется библиотека Pandas. Эта библиотека позволяет получить доступ и манипулировать Pandas DataFrame.

Следующая строчка кода считывает CSV файл без шапки в DataFrame и передаёт значение в переменную df.

Если вывести в терминал данные из DataFrame, то они будут выглядеть следующим образом:

0123
0StoreCategoryProductNumber
1Toronto»»Jeans»»10534″»15″»
2Montreal»»Tops»»5415″»32″»
3Ottawa»»Coats»»98341″»22″»
содержание DataFrame без обработки

Примечание: По умолчанию, когда импортируются данные из CSV файла, открывающие двойные кавычки удаляются, оставляя двойные кавычки в конце.

Следующая строчка кода удаляет все оставшиеся двойные кавычки из DataFrame.

Результат модифициро ванных данных DataFrame сохраняется в переменную df и выводится в терминал.

0123
0StoreCategoryProductNumber
1TorontoJeans1053415
2MontrealTops541532
3OttawaCoats9834122
обработанные данные DataFrame

Резюме

Мы рассмотрели пять способов как можно убрать двойной набор двойных кавычек из строки и все двойные кавычки. Под свои конкретные нужды можно выбрать наиболее подходящий вариант.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.