我有一长串:

string = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'


现在,我想找出单词\n之前的\nmaturity数(在字符串中是唯一的,我们可以看到答案是2)。

这是这个问题的动机,如果您无法理解我在下面所说的话,请忽略它并专注于上面的问题。

我想使用pandas读取data(我不确定data的结构,可能是csv):

python - 在长字符串中给定单词之前找到\n的数量-LMLPHP

并使用语法:

value = pandas.read_csv(data, sep = '\t', skiprows = 3).set_index('maturity')


跳过3之前的前maturity行以获得表,如下所示:
python - 在长字符串中给定单词之前找到\n的数量-LMLPHP

因此,我需要找出maturity的行号,以确定应该跳过多少行。但是我只知道data

data.getvalue() = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'


\n更改行,而\r更改单元格)。因此,我必须天真地在\n之前找到maturity的编号,以确定原始表(或maturity)中data的行号。

因此,如果您熟悉上述结构,能否告诉我如何在maturity中找到data的行号?

最佳答案

一种方法是:


首先split以'\ nmaturity'作为分隔符的字符串,并取第一个(因此找到的第一个项目的左边)。
比使用count来计算'\ n'的数量。


未经测试:

string = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'
stringUntilMaturity = string.split('\nmaturity')[0]
counts = stringUntilMaturity.count('\n')

关于python - 在长字符串中给定单词之前找到\n的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54292729/

10-14 12:31