Форум сайта python.su
Всем привет. Хочу перевести наименования в таблице exсel на русский. Друзья подскажите в каком направлении посмотреть? Не первый же я изобретаю велосипед.. Поиск путного ничего не дает..
Офлайн
с помощью openpyxl получаем значение ячейки, с помощью googletlranslate переводим, вставляем обратно. так для всех ячеек
import openpyxl from googletrans import Translator def translate_text(text): translator = Translator() translated_text = translator.translate(text, dest='ru') if translated_text: return translated_text.text def process_excel_range(file_name, range_string, process_fn): # Открываем файл wb = openpyxl.load_workbook(filename=file_name) # Получаем лист по умолчанию sheet = wb.active # Получаем диапазон ячеек cell_range = sheet[range_string] # Перебираем ячейки и обрабатываем их for row in cell_range: for cell in row: # Получаем значение ячейки cell_value = cell.value # Обрабатываем значение функцией обработки processed_value = process_fn(cell_value) # Записываем обработанное значение обратно в ячейку cell.value = processed_value # Сохраняем изменения в файле wb.save('new_data_translate.xlsx') if __name__ == '__main__': process_excel_range(r'/home/xam/PycharmProjects/parser/data.xlsx','A1:A2', translate_text)
Отредактировано xam1816 (Март 30, 2023 20:53:51)
Офлайн
xam1816Спасибо! Поизучаю.. так понимаю код с пропущенными строками.. колаб сразу ругаться начал)
с помощью openpyxl получаем значение ячейки, с помощью googletlranslate переводим, вставляем обратно. так для всех ячеек
Офлайн