Заменить строку, если строка содержит конкретное значение для каждой строки - PullRequest
1 голос
/ 04 мая 2019

Я пытаюсь проанализировать CSV, который содержит длинную строку в разных строках.Я хочу заменить каждую длинную строку для каждой строки, которая возникает, если строка содержит определенное значение.

Почему я хочу заменить длинную строку, потому что csv-файл разбивает строку, чтобы поместиться в строках.

Пример csv-файла:

number     |      payload
1230          00023030303030303030303030303030...
1234          00033030303030303030330303030303...
1236          30303030303030004303030303030303...
1238          0005303030...
1240          (blank)
1241          (blank)
1248          0006303030...

Следующее уникальное четырехзначное значение в длинной строке представляет собой счетчик в шестнадцатеричной форме 1-100 (шестнадцатеричное 1-63).

Итак, я попытался заменить значение, если строка содержит значение со счетчиком, но безуспешно.

Проблема в том, что значение из четырех uniq в строке может не совпадать со счетчиком ипоэтому замените его грубым значением.

def stringconv(filefind)->str:
    strcount=pd.read_csv(filefind, sep='\t', usecols=[2], na_filter=False, names=col_name)
    for i in range(256):
        counter = "{:02x}".format(i)
        hxstr = strcount["payload"].str.match("00" + str(counter))
        hexstring = strcount[strcount["payload"].str.match("00" + str(counter))]
        print(hexstring)
        j = ("00" + str(counter))
        for x in hxstr:
            if x == True:
                strcount.replace(x,j, inplace=True)

Существующий файл, как показано выше, должен выглядеть примерно так:

number     |     payload
1230             0002
1234             0003
1236             0004
1238             0005
1240             (blank)
1241             (blank)
1248             0006
...              ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...