Помогите разобраться с циклом в Python

386
.
aNNiPAk
Привет други. В общем изучаю я питон, изучаю, как вдруг один из скриптов не хочет работать как нужно
import re
i = 0
g = 0
with open('ini_skills.txt', 'r+') as f:
    with open('iii.csv', 'r+') as csv:
        with open('ini_dump.txt', 'w') as b:
            for line_txt in f:
                i = i + 1
                search_txt = re.findall(r'^\.([\w\d]*)\.', line_txt)
                if search_txt:
                    for matches in csv:
                        g = g + 1
                        j = [part.strip('"').strip() for part in matches.rstrip().split(',')]
                        if j[0].strip() == search_txt:
                            text = re.sub(r'^\.([\w\d]*)\.', r'j[1]', line_txt).strip()
                            b.write(text)
print('Success!')
print(i)
print(g)

Я не знаю в чем проблема, но print(i) выводит 151, а print(g) выводит всего лишь 2, хотя должен 151 раз по 2 выводиться, получается 302. Возможно я не так понял цикл for, или условие не то поставил... Помогите добрые люди.
P.S. Если нужно, могу дать входные данные
.
(\/)____o_O____(\/)
aNNiPAk, задачу бы написал
есть два файла
ты ищешь дубликаты?
.
есть два файла, в одном ini_skills.txt в случайном месте выводиться строка с со словом между точками
// combat skills

.DODGE.[def:4][kau:5] [sar:5] [owl:5] [vag:5]
[ATTRIBS:agi spd eye]
[GROUP:combat]

.UNARMED.[def:3][kau:4][sar:4][dri:2][owl:4]
[ATTRIBS:agi spd str]
[GROUP:combat]

есть другой файл iii.csv, где каждая строка - это два слова через, и кавычки
"BUILDING","СТРОИТЕЛЬСТВО"
"WEATHERLORE","ЗНАНИЕ ПОГОДЫ"

Задача, нужно сравнить слово между точками в ini_skills.txt с первым словом между кавычками в iii.csv, и если они совпадают, то заменить это слово на второе слово между кавычками в iii.csv
.
Сексуальность валенка
Не pyton, а Python
.
Блиносвёрт ?
# Swank (20.02.2016 / 19:44)
Не pyton, а Python
h - не читается, можно не писать, чего бумагу марать?
.
aNNiPAk
# Swank (20.02.2016 / 19:44)
Не pyton, а Python
Вах, вах, забиль как пшеться - напсать, напсаль, а праверить забиль, как так можно, а? А если серьёзно и по коду, есть что-нибудь?
.
(\/)____o_O____(\/)
aNNiPAk, тут как минимум один питонщик, но покак он не увидел тему, или празднует 23..
.
Блиносвёрт ?
мне кажется, это задача на алгоритм
.
Ego vir viden
# Koenig (20.02.2016 / 23:36)
aNNiPAk, тут как минимум один питонщик, но покак он не увидел тему, или празднует 23..
тут я знаю двоих
reaper и http://johncms.com/users/profi ... 13244
.
reaper
Набросал немножко, дальше не стал разбираться, что там нужно.
import csv
import re

if __name__ == '__main__':
    with open('trans.csv', 'r') as trans:
        trans = {key: value for key, value in csv.reader(trans)}

    with open('source.txt', 'r') as source:
        for line in source:
            matches = re.match('^\.([\w]+)\.', line)
            if not matches:
                continue
            word = matches.group(1)
            if word in trans:
                print(word, trans[word])
Всего: 10