Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/103: Рейтинг темы: голосов - 103, средняя оценка - 4.89
115 / 23 / 3
Регистрация: 11.09.2017
Сообщений: 141
Записей в блоге: 4

Как убрать кавычки из массива?

11.07.2019, 16:33. Показов 22430. Ответов 12

Студворк — интернет-сервис помощи студентам
Доброго времени суток, друзья. Столкнулся с такой проблемой, что работаю с БД. Оттуда выгружаю данные, но при выгрузке текстовых значений появляются кавычки. Как от них избавляются, подскажите.
Python
1
2
3
4
5
cur.execute("select * from area where number<5;")
data = cur.fetchall() #[(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')]
print(data[0][1])
# ожидается Бабаевский
# выводит 'Бабаевский'
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2019, 16:33
Ответы с готовыми решениями:

Как убрать кавычки из названия элемента списка?
import os filename = os.listdir('c:\\Files\\Text1') file = open(filename) Выдаёт ошибку Traceback (most recent call last): ...

Как убрать из списка все квадратные скобки и кавычки?
Я выводила построчно список студентов из конкретной группы. my_len = ],],]] for i in my_len: if...

Как убрать кавычки?
У меня вот такой вот кусок кода на РНР mysqli_query($link, &quot;INSERT INTO messages(msg, user) values('$message', '$_SESSION')&quot;);, как...

12
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
11.07.2019, 17:03
tabbols95, так это ж строка, вот и апострофы (кавычки это вот -" ")
если критично при выводе, то можно так
Python
1
print(f'{data[0][1]}')
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.07.2019, 17:58
Цитата Сообщение от tabbols95 Посмотреть сообщение
Как от них избавляются, подскажите.
Не надо от них избавляться.

Все это - одно и тоже:
Python
1
2
3
4
5
6
7
8
9
>>> "привет"
'привет'
>>> repr('привет')
"'привет'"
>>> str('привет')
'привет'
>>> print('привет')
привет
>>>
просто это разные варианты конечной репрезентации строки.

Добавлено через 6 минут
Кстати, вы похоже, сами эту репрезентацию и изменили - раз print тоже в кавычках выводит.
Если в классе переопределен умолчательный метод вывода строки - будет вот так:
Python
1
2
3
>>> print(repr('привет'))
'привет'
>>>
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
11.07.2019, 18:38
tabbols95, Если бы у Вас data содержала бы
Python
1
[(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')]
то выводилось бы без кавычек. Как правильно говорит Garry Galler, у Вас программа где то дополнительно к одинарным кавычкам (апострофам) добавляет еще и двойные кавычки (двойные апострофы).
Использование
Python
1
print(f'{data[0][1]}')
Вам не поможет. Все выше сказанное демонстрирует пример:
Python
1
2
3
4
5
6
7
8
9
10
11
12
data = [(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')]
print(data[0][1])
 
print('*' * 50)
 
data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]
print(data[0][1])
 
print('*' * 50)
 
data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]
print(f'{data[0][1]}')
Выводит:
Python
1
2
3
4
5
Бабаевский
**************************************************
'Бабаевский'
**************************************************
'Бабаевский'
Отсюда следует, что Вам для решения Вашей задачи, как правильно заметил Garry Galler, нужно разобраться с Вашим кодом, что бы в переменную data поступал список без лишних кавычек, то есть поступало
Python
1
[(1, 'Бабаевский'), (3, 'Белозерский'), (4, 'Вашкинский')]
а не
Python
1
[(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]
Добавлено через 8 минут
Или, что бы как опять же правильно заметил Garry Galler, если Вы используете классы, и у Вас присутствует метод
перегрузки __repr__, который перехватывает вывод инструкцией printer , то нужно правильно использовать этот метод.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
11.07.2019, 19:57
Цитата Сообщение от Viktorrus Посмотреть сообщение
Вам не поможет.
еще как поможет, в питоне 3.7.0 на макос и 3.7.3 на винде прекрасно работает, как в консоли, так и в пичарме, без всяких проблем

Цитата Сообщение от Garry Galler Посмотреть сообщение
Если в классе переопределен умолчательный метод вывода строки - будет вот так:
в каком? Автор вызывает у курсора fetchall и сразу выводит, никаких объектов не задействовано

tabbols95, или фетчОлл у тебя возвращает не то что в комменте (а разве не кортеж кортежей?) или даже не знаю, у меня на разных питонах и осях все нормально.

0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.07.2019, 20:04
Цитата Сообщение от Welemir1 Посмотреть сообщение
Автор вызывает у курсора fetchall и сразу выводит, никаких объектов не задействовано
Вот это и странно. Либо ТС нас ввел в заблуждение и на самом деле у него
Python
1
2
3
>>> data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]
>>> print(data[0][1])
'Бабаевский'
- здесь кавычки в принте закономерны. И убирать их надо не здесь - так сказать, постфактум, а там, где он их лишний раз проставил.
Либо у него странным образом вместо str стал использоваться repr для вывода строк.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
11.07.2019, 20:30
Цитата Сообщение от Welemir1 Посмотреть сообщение
3.7.3 на винде прекрасно работает
Так так и нужно было писать, "Установите версию 3.7.3 и используйте
Python
1
print(f'{data[0][1]}')
что бы не вводить людей в заблуждение.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
11.07.2019, 20:34
Цитата Сообщение от Garry Galler Посмотреть сообщение
где он их лишний раз проставил.
хм, слушай, может они у него в бд с кавычками?... в общем желателен скрин от автора где видно в дебаггере что конкретно пришло в дата, ну и версию питона бы узнать.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.07.2019, 00:23
tabbols95, Если нельзя избавится от лишних кавычек по ходу программы, как я понял Вы данные получаете из базы данных, то убрать лишние кавычки перед печатью, что будет работать с любой версией 3.Х , можно добавив следующий фрагмент кода перед печатью
Python
1
2
3
4
5
6
7
data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]
L = []
for ch in data[0][1]:
    if ord(ch) != 39:
        L.append(ch)
s = ''.join(L)
print(s)
Выводит без кавычек. Может кто нибудь предложит более элегантный вариант, как убрать лишние кавычки.

Добавлено через 18 минут
А вот так будет компактнее в одну строчку
Python
1
2
3
#data = [(1, "'Бабаевский'"), (3, "'Белозерский'"), (4, "'Вашкинский'")]
 
print(data[0][1].split("'")[1])
Но этот вариант будет работать, только если внутри выводимой строки не будет апострофа, иначе строка будет обрезана.

Добавлено через 2 минуты
И еще. Это у Вас будет работать, только если у вас каким либо образом не срабатывает repr .

Добавлено через 6 минут
А вообще, выше верно заметили, что для того, что бы дать конкретную рекомендацию, нужно видеть весь код, а не его фрагмент. Что бы можно было проанализировать его с помощью отладчика.

Добавлено через 12 минут
И еще одно замечание. Если у Вас кавычки идут в другом порядке, а именно так
Python
1
[(1, '"Бабаевский"'), (3, '"Белозерский"'), (4, '"Вашкинский"')]
то строка должна быть такая
Python
1
print(data[0][1].split('"')[1])
Добавлено через 4 минуты
Хотя в этом случае, в Вашем варианте вывод был бы таким "Бабаевский". Поэтому скорее всего у Вас первый вариант чередования кавычек.

Добавлено через 33 минуты
Для информации
Python
1
2
3
4
5
6
7
8
>>> ord('"')   # двойной апостров в латинице
34
>>> ord('"')   # двойные кавычки в кириллице (раскладке клавиатуры)
34
>>> ord("'")   # апостроф в латинице
39
>>>            # в кирилице одинарной кавычки нет (я не нашел), # поэтому при необходимости
>>>            # используется апостров из латиницы
0
115 / 23 / 3
Регистрация: 11.09.2017
Сообщений: 141
Записей в блоге: 4
12.07.2019, 07:56  [ТС]
Viktorrus, я привел полностью текст программы, только лишь не указал connect к БД и как я объявляю cursor
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
12.07.2019, 08:24
tabbols95, Все нормально в выводе
Миниатюры
Как убрать кавычки из массива?  
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
12.07.2019, 09:14
tabbols95, можешь вот такой же скрин(как выше приводили) сделать где видно печать твоих кавычек?
и еще один желательно, где стоит бряка на строке с датой и в отладчике видно что туда пришло.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.07.2019, 11:36
Цитата Сообщение от tabbols95 Посмотреть сообщение
я привел полностью текст программы, только лишь не указал connect к БД и как я объявляю cursor
А какая проблема выложить весь код полностью, раз он не такой большой?
И потом, Вы работаете с отладчиком? Какое содержимое переменной data показывает отладчик в пошаговом режиме, перед выводом на печать. Так как то, что показали Вы не может быть значением переменной data . При таком содержимом data вывод был бы без кавычек.
И укажите версию Вашего питона, это тоже может влиять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2019, 11:36
Помогаю со студенческими работами здесь

Как убрать кавычки из строки?
Подскажите, пожалуйста, как убрать все кавычки(&quot;) из строки? s= 'string &quot;with&quot; q&quot;uotes'

Как убрать кавычки , не могу их найти
Вот так во вкладке браузера выглядит название страницы. Где эти кавычки, найти не могу. Выручайте.

Как убрать кавычки из заголовка записи
помогите убрать кавычки из заголовка записи. См. скрин. Пере ковырял уже все.

Как убрать кавычки из вывода Arrays.tostring?
Здравствуйте! Задался вопросом, как убрать кавычки (которые еще и развернулись наизнанку после насилия над ними reverse из вывода вообде...

Split,Regex. Как убрать кавычки в результирующем массиве
Добрый день. Нашел данный код здесь на форуме https://www.cyberforum.ru/csharp-net/thread14199.html. Работает почти как надо, но мне нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru