Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 27.01.2017
Сообщений: 20

Работа с CSV файлами

06.05.2019, 19:46. Показов 2706. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, ребят вопрос следующий. Есть большой файл сsv, в нём есть функция поиска. Как сделать так, чтобы найденные похожие стили записывались в другую таблицу
Python
1
beer_recipe_corrected=beer_recipe
целой строкой (со всеми Column names которые находятся на её уровне)? Буду благодарен.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import pandas as pd
 
import os
print(os.listdir("../input"))
print("***")
print("***")
 
import warnings
warnings.filterwarnings('ignore')
 
beer_recipe = pd.read_csv('../input/recipeData.csv', encoding='latin1')
beer_recipe.info()
beer_recipe_corrected=beer_recipe
 
style = pd.read_csv("../input/styleData.csv",encoding="latin1", index_col='StyleID')
style.info()
 
print("***")
print("***")
print('Unique styles: {}'.format(beer_recipe['Style'].nunique()))
print('Data set shape:{}'.format(beer_recipe.shape))
 
 
def searchStyleBeer():
    nameBeer=input("Enter your desired beer style: ")
    try:
        str(nameBeer)
    except ValueError:
        print("The data entered must be strings!")
        return 0
        searchStyleBeer()
    nameBeer=str(nameBeer)
    for i in beer_recipe['Style'][:10]:
        print (i)
        if nameBeer in i:
            print("Ready!")
    else: 
        print('This style does not exist')
searchStyleBeer()
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.05.2019, 19:46
Ответы с готовыми решениями:

Работа с csv файлами
Здравствуйте, помогите пожайлуста с задачей! Задание: Исходный файл должен содержать 10 – 15 записей. Считайте информацию из...

Работа со списками и csv файлами
Здравствуйте, у меня возникли проблемы с тем как мне решить задачу, не могу понять как это можно сделать и как должно выглядеть. Суть...

Случайная расстановка баллов. Работа с файлами .txt и .csv
Нужно написать программу случайной расстановки баллов (целое от 1 до 10) людям, чьи ФИО перечислены в файле fio-2.txt. Результат нужно...

7
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.05.2019, 21:46
Цитата Сообщение от Krittx Посмотреть сообщение
print("The data entered must be strings!")
input всегда возвращает строку. Поэтому ваша проверка с try: str(nameBeer) лишена смысла.
блок else в цикле for неверно использован. Этот блок будет выполняться всегда. Кроме случая, когда мы сделали досрочный выход из цикла через break.
1
0 / 0 / 0
Регистрация: 27.01.2017
Сообщений: 20
07.05.2019, 11:41  [ТС]
Это просто быстрые наброски, в большей части, проверки для преподавателя, который хочет их всегда)))
В любом случае спасибо.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.05.2019, 12:44
Цитата Сообщение от Krittx Посмотреть сообщение
проверки для преподавателя
Тогда вы должны делать другую проверку.
Кроме того searchStyleBeer() никогда не будет выполнена, потому что у вас там return. Кстати, а зачем?

P.S. Так как образец данных вы не приложили (типичная ошибка новичков) ответить по существу не представляется возможным.
1
0 / 0 / 0
Регистрация: 27.01.2017
Сообщений: 20
07.05.2019, 14:06  [ТС]
Доработал функцию и приложил вид csv файла.
P.S. Извините за неудобства, действительно недавно начал работать c csv

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pandas as pd
 
import os
print(os.listdir("../input"))
print("***")
print("***")
 
import warnings
warnings.filterwarnings('ignore')
 
beer_recipe = pd.read_csv('../input/recipeData.csv', encoding='latin1', index_col='BeerID')
beer_recipe.info()
beer_recipe_found=beer_recipe
 
style = pd.read_csv("../input/styleData.csv",encoding="latin1", index_col='StyleID')
style.info()
 
print("***")
print("***")
print('Unique styles: {}'.format(beer_recipe['Style'].nunique()))
print('Data set shape:{}'.format(beer_recipe.shape))
 
 
 
def searchStyleBeer():
    nameStyle=input("Enter your desired beer style: ")
    if nameStyle.isalpha():
        for i in beer_recipe['Style'][:5]:  #[:5] Просто небольшое ограничение для удобства
            if nameStyle in i:
                print("Ready!")  #Действие добавления в beer_recipe_found
            else:
                print("No similarities found")  #Действие если не довалено ни одной записи
    else:
        print("The data entered must be strings!")
        searchStyleBeer()
 
searchStyleBeer()
0
0 / 0 / 0
Регистрация: 27.01.2017
Сообщений: 20
07.05.2019, 14:13  [ТС]
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.05.2019, 18:53
Лучший ответ Сообщение было отмечено Krittx как решение

Решение

Python
1
столбец.str.contains(подстрока_для_поиска)
Никаких циклов не требуется - pandas умеет работать векторно.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
>>> import pandas as pd
>>> s1 = pd.Series(['Cream style', 'american good style', 'Holiday style', 'American style', 'American super style'])
>>> df = pd.DataFrame(s1,columns=['Style'])
>>> df
                  Style
0           Cream style
1   american good style
2         Holiday style
3        American style
4  American super style
>>>
>>> df['Style'][df['Style'].str.contains("america")]
1    american good style
Name: Style, dtype: object
>>>
>>> df['Style'][df['Style'].str.contains("america",case=False)]
1     american good style
3          American style
4    American super style
Name: Style, dtype: object
>>>
>>> styles = df['Style'][df['Style'].str.contains("america",case=False)]
>>> styles.values  # конвертируем Series в numpy array
array(['american good style', 'American style', 'American super style'],
      dtype=object)
>>>
Добавлено через 12 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> df = pd.DataFrame({"id":list(range(5)),"Style":['Cream style', 'american good style', 'Holiday style', 'American style', 'American super style']})
>>> df
   id                 Style
0   0           Cream style
1   1   american good style
2   2         Holiday style
3   3        American style
4   4  American super style
>>> styles = df[df['Style'].str.contains("america",case=False)]
>>> styles.values
array([[1, 'american good style'],
       [3, 'American style'],
       [4, 'American super style']], dtype=object)
>>>
Все значения в виде списков. Сконкатерировать каждый список в строку не представляет никакой сложности.
1
0 / 0 / 0
Регистрация: 27.01.2017
Сообщений: 20
08.05.2019, 11:27  [ТС]
Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2019, 11:27
Помогаю со студенческими работами здесь

Задача с csv файлами
Найти данные GDP per capita (current US$) для США за 1991-2019 годы. Вывести содержимое .csv файла на экран. Организовать поиск самого...

Решение задачи с CSV файлами
Найти данные GDP per capita (current US$) для всех стран мира за 2016 год. Вывести содержимое .csv файла на экран. Организовать поиск...

Задача на работу с .csv файлами, исправить и доделать код
В файле yachting.csv (его нужно будет создавать отдельно, а что внутри - укажу позднее) находятся характеристики яхт, участвующих в регате...

Вам доступен csv файл data.csv, содержащий информацию в csv формате.Напишите функцию read_csv для чтения данных из файла
Вам доступен CSV-файл data.csv, содержащий информацию в csv формате. Напишите функцию read_csv для чтения данных из этого файла. Она должна...

Работа с csv файлами
есть csv файл: помимо написания функции main() нужно сделать функцию sum(), которая при активировании выпишет текст для каждого...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru