Tag: expression式

如何加速读取多个文件并将数据放入数据框?

我有一些文本文件,比如50,我需要读入一个巨大的数据框。 目前,我正在使用以下步骤。 阅读每个文件,并检查标签是什么。 我需要的信息通常包含在前几行中。 相同的标签只是为文件的其余部分重复,每次都列出不同types的数据。 用这些标签创build一个数据框。 再次读取文件并填充dataframe。 将该dataframe与主dataframe连接起来。 对于文件大小为100 KB的文件来说,这种方法非常有效 – 几分钟,但在50 MB的文件中,只需要几个小时,而且不实用。 我如何优化我的代码? 尤其是 – 我怎样才能确定哪些function花费最多的时间,我需要优化? 这是文件的阅读吗? 是写入数据框吗? 我的课程在哪里花费时间? 我应该考虑multithreading还是多处理? 我可以改进algorithm吗? 也许读一个列表中的整个文件,而不是一行一行, 以块/整个文件parsing数据,而不是逐行parsing, 将数据以块/一次分配给dataframe,而不是逐行分配。 还有什么我可以做,让我的代码执行更快? 这是一个示例代码。 我自己的代码稍微复杂一些,因为文本文件比较复杂,所以我必须使用大约10个正则expression式和多个while循环来读取数据并将其分配到正确的数组中。 为了保持MWE简单,我还没有在MWE的input文件中使用重复标签,所以它会让我无故读取文件两次。 我希望这是有道理的! import re import pandas as pd df = pd.DataFrame() paths = ["../gitignore/test1.txt", "../gitignore/test2.txt"] reg_ex = re.compile('^(.+) (.+)\n') # read all files to determine what indices […]

XPath与正则expression式匹配的属性值

所有 – 我已经search了几个小时,试图破解这个,但是我仍然有问题。 我有下面的XML数据: <game id="2009/05/02/arimlb-milmlb-1" pk="244539"> <team id="109" name="Arizona" home_team="false"> <event number="9" inning="1" description="Felipe Lopez doubles to left fielder Chris Duffy. "/> <event number="15" inning="1" description="Augie Ojeda flies out to center fielder Mike Cameron. "/> <event number="23" inning="1" description="Chad Tracy doubles to right fielder Joe Sanchez. "/> <event number="52" inning="2" description="Mark Reynolds lines out […]

shell脚本中“=〜”运算符的含义

我遇到了代码的shell脚本 for line in $LIST_ARRAY;do if [[ $LIST_ARRAY =~ $line ]] then echo "true" …. … . 在这种情况下,有什么用途?

正则expression式:确定两个正则expression式是否可以匹配相同的input?

我想知道两个已知的正则expression式之间是否会有冲突 ,以便让用户构造一个互斥的正则expression式列表。 例如,我们知道下面的正则expression式是完全不同的,但它们都匹配xy50 : '^xy1\d' '[^\d]\d2$' 是否有可能使用计算机algorithm确定两个正则expression式是否可以产生这样的冲突 ? 怎么样?

使用正则expression式的string否定

有可能在正则expression式中做string否定吗? 我需要匹配所有不包含string".."的string。 我知道你可以使用^[^\.]*$匹配所有不包含"."string"." 但我需要匹配多个字符。 我知道我可以简单地匹配一个包含".."的string,然后否定匹配的返回值,以达到相同的结果,但我只是想知道是否有可能。

为什么正则expression式被称为“常规”expression式?

为什么正则expression式称为正则expression式?

grep的开始和结束的行?

我有一个文件,我想grep以-rwx或drwx开始并以任何数字结尾的行。 我有这个,但不是很对。 有任何想法吗? grep [^.rwx]*[0-9] usrLog.txt

在ASP.NET RegularExpressionValidator中使正则expression式不区分大小写

给出这个正则expression式: "^[0-9]*\s*(lbs|kg|kgs)$"如何使其不区分大小写? 我想在.net正则expression式validation器中使用它,所以我需要在模式中指定不区分大小写。 我不能以编程方式使用RegexOptions,因为我在RegularExpressionValidator中指定正则expression式

JavaScript的正则expression式循环所有匹配

我试图用堆栈溢出的富文本编辑器做类似的事情。 给出这个文本: [Text Example][1] [1][http://www.example.com] 我想循环每个[string][int]find我这样做: var Text = "[Text Example][1]\n[1][http: //www.example.com]"; // Find resource links var arrMatch = null; var rePattern = new RegExp( "\\[(.+?)\\]\\[([0-9]+)\\]", "gi" ); while (arrMatch = rePattern.exec(Text)) { console.log("ok"); } 这很好,它提示每个[string][int] “ok”。 我需要做的,是find每场比赛,用第二场比赛的组成部分取代最初的比赛。 所以在循环$ 2将代表最初匹配的int部分,我会运行这个正则expression式(pseduo) while (arrMatch = rePattern.exec(Text)) { var FindIndex = $2; // This would be 1 in […]

正则expression式匹配括号

在string中匹配'('的正则expression式是什么? 以下是scheme: 我有一个string str = "abc(efg)"; 我想在'('使用正则expression式分割string。对于我正在使用 Arrays.asList(Pattern.compile("/(").split(str)) 但是我得到以下例外。 java.util.regex.PatternSyntaxException: Unclosed group near index 2 /( 转义'('似乎不工作。