我试图解析在不同行上包含长字符串的csv。 如果字符串包含特定值,我想将每个长字符串替换为出现的每一行。
为什么要替换长字符串是因为csv-file打破了字符串以适合行。
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
... ...