Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在长字符串中查找给定单词前\n的数字_Python_String_Pandas - Fatal编程技术网

Python 在长字符串中查找给定单词前\n的数字

Python 在长字符串中查找给定单词前\n的数字,python,string,pandas,Python,String,Pandas,我有一根长长的绳子: string = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0' 现在,我想找出单词\n前面的\n的编号(在字符串中是唯一的,我们可以看到答案是2) 这就是这个问题的动机,如果你不能理解我在下面说的话,就忽略它,专注于上面的问题 我想使用pandas读取数据(我不确定数据的结构,可能是csv): 并使用以下语法: value = pandas.read_csv(data,

我有一根长长的绳子:

string = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'
现在,我想找出单词
\n
前面的
\n
的编号(在字符串中是唯一的,我们可以看到答案是2)

这就是这个问题的动机,如果你不能理解我在下面说的话,就忽略它,专注于上面的问题

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

并使用以下语法:

value = pandas.read_csv(data, sep = '\t', skiprows = 3).set_index('maturity') 
要跳过
3
到期日之前的第一行
以获得如下表格:

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

data.getvalue() = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'
\n
正在更改行,
\r
正在更改单元格)。因此,我必须在
到期日
之前天真地找到
\n
的数量,以确定原始表中
到期日
的行数(或
数据

因此,如果您熟悉上述结构,您能告诉我如何在
数据中找到
到期日的行号吗?

一种方法:

  • 第一个
    split
    以“\n成熟度”作为分隔符的字符串,并取第一个(因此位于第一个找到的项的左侧)
  • 然后使用
    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')