Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста! О XLSX файлах в python

chel chelik Ученик (123), на голосовании 15 часов назад
Можете помочь написать программку на питоне которая будет осуществлять поиск заданных слов/одного слова в xlsx файле и затем выводить всю строчку где были эти слова/одно слово
Голосование за лучший ответ
Гуру (4663) 1 месяц назад
 import pandas as pd 

def search_words_in_excel(file_path, search_terms):
# Загрузка данных из Excel файла
df = pd.read_excel(file_path)

# Если передан один термин, преобразуем его в список
if isinstance(search_terms, str):
search_terms = [search_terms]

# Приводим все строки к нижнему регистру для упрощения поиска
df_lower = df.applymap(lambda x: str(x).lower() if isinstance(x, str) else x)

# Поиск строк, содержащих хотя бы одно из заданных слов
matching_rows = df[df_lower.apply(lambda row: any(term.lower() in str(value) for value in row for term in search_terms), axis=1)]

# Вывод результата
if not matching_rows.empty:
print("Найденные строки:")
print(matching_rows)
else:
print("Слова не найдены в файле.")

# Пример использования
file_path = 'путь_к_вашему_файлу.xlsx' # Замените на путь к вашему файлу
search_terms = ['слово1', 'слово2'] # Замените на слова для поиска
search_words_in_excel(file_path, search_terms)
chel chelikУченик (123) 1 месяц назад
А можно как-то сделать чтобы было не 'слово1' и 'слово2' а чтобы в одной ячейке несколько слов? Или это так и работает?
Гуру (4663) chel chelik, Да, программа уже работает таким образом, что она ищет совпадения на уровне отдельных ячеек и выводит всю строку, если хотя бы одно из заданных слов (или их комбинация) найдено в какой-либо ячейке.
chel chelikУченик (123) 1 месяц назад
У меня ещё и Termux не хочет библиотеку pandas ставить. Кучу ошибок выдаёт но устанавливает(
Похожие вопросы