@chocolatelover

Какие есть аналоги индексков списком в csv файлах, python?

Я хочу, проходя циклом по списку букв слова, находить каждую букву в столбце для кириллицы и записывать в другой список значение столбца "латиница" той же строки. но я не могу найти, как это сделать..
import pandas as pd
df = pd.read_csv("C:/Users/varva/Desktop/translit.csv", delimiter=',')
word = input()
a = list(word)
b = []
for i in range(len(a)):
if df.loc[df['Кириллица'] == a[i]]:
b.append(df.loc[df['Латиница']])
print(b)
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Тебе нужно использовать именно Panda? Тут хватит стандартных модулей. Ну и используй словарь.
import csv
#тут храним таблицу соответствий
table = {}
#удостоверься, что кодировка файла корректная
with open(r'C:/Users/varva/Desktop/translit.csv', newline='', encoding='utf-8') as csvfile:
    reader = csv.DictReader(csvfile, delimiter=',')
    for row in reader:
        #убираем пробелы из значений. Можно убрать .strip(), если они значимы
        table[row['Кириллица'].strip()] = row['Латиница'].strip()

word = input()
#по умолчанию неизвестные символы оставляем как есть. см. метод dict.get()
result = ''.join( table.get(ch, ch) for ch in word )
print(result)

Работает для такого входного файла:
Кириллица,Латиница
Ф,F
Д,D
В,V
Ы,Y
А,A
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы