小编Sri*_*ine的帖子

LIKE'[charlist]%'语法在MySQL中不起作用(phpMyAdmin)

有表名Students.我想提取名字以'n'或'p'或'y'开头的学生的名字.我知道在TSQL(MS SQL服务器)中,我可以按如下方式编写查询,它可以工作:

SELECT * FROM Students WHERE StudentName LIKE '[npy]%'
Run Code Online (Sandbox Code Playgroud)

但是当我在MySQL(phpmyadmin)中执行相同的查询时,我无法检索到正确的结果集.我尝试将学生姓名的字母转换为charlist中提到的相同案例.我做了一些谷歌搜索,发现在MySQL中我们需要将其指定为正则表达式.我执行了以下查询并得到了预期的结果.

SELECT * FROM Students WHERE StudentName REGEXP '[[:<:]]n | [[:<:]]p | [[:<:]]y'
Run Code Online (Sandbox Code Playgroud)

我想知道LIKE '[charlist]%'语法不能与MySQL一起使用的原因.是由于MySQL中的实现(MySQL不支持语法)还是我正在使用的phpmyadmin版本有问题?

对此有任何帮助表示高度赞赏.谢谢 :)

regex mysql sql where-clause

7
推荐指数
1
解决办法
6153
查看次数

替换字符串中的第n个数字

我有一组错误命名的文件.文件名如下.

Generation_Flux_0_Model_200.txt
Generation_Flux_101_Model_43.txt
Generation_Flux_11_Model_3.txt
Run Code Online (Sandbox Code Playgroud)

我需要通过在现有数字上加1来替换第二个数字(型号).所以正确的名字就是

Generation_Flux_0_Model_201.txt
Generation_Flux_101_Model_44.txt
Generation_Flux_11_Model_4.txt
Run Code Online (Sandbox Code Playgroud)

这是我写的代码.我想知道如何指定数字的位置(用新数字替换字符串中的第二个数字)?

reNameModelNumber <- function(modelName){

  #get the current model number
  modelNumber = as.numeric(unlist(str_extract_all(modelName, "\\d+"))[2])

  #increment it by 1
  newModelNumber = modelNumber + 1

  #building the new name with gsub 
  newModelName = gsub("  regex ", newModelNumber, modelName) 

  #rename
  file.rename(modelName, newModelName)


}


reactionModels = list.files(pattern = "^Generation_Flux_\\d+_Model_\\d+.txt$")

sapply(reactionFiles, function(x) reNameModelNumber(x))
Run Code Online (Sandbox Code Playgroud)

regex r

6
推荐指数
2
解决办法
139
查看次数

在php中检索数据库记录集到数组中

我想从MySQL表中检索一组记录作为数组.

到目前为止,我能够将每一行检索为关联数组.但是我想要一个数组中的所有行,因为我必须在jQuery中访问该完整对象才能显示它们.

这是我到目前为止所做的.这是我的.php脚本来检索数据

//select query    
$result = mysql_query("SELECT * FROM student",$con) or die (mysql_error());

$numRows = mysql_num_rows($result); //to iterate the for loop

//passing as an associative array

for ($count = 0; $count < $numRows; $count++){
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    echo json_encode($row);     
}
Run Code Online (Sandbox Code Playgroud)

这就是我目前得到的

{"StuId":"1","fName":"Saman","lName":"Kumara","age":"14","grade":"A"}
{"StuId":"2","fName":"Marry","lName":"Vass","age":"12","grade":"B"}
{"StuId":"3","fName":"Navjoth","lName":"Bogal","age":"32","grade":"A"}
{"StuId":"4","fName":"Jassu","lName":"Singh","age":"22","grade":"E"} 
Run Code Online (Sandbox Code Playgroud)

但我希望这个结果集如下.

[
    {"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
    {"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
    {"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
Run Code Online (Sandbox Code Playgroud)

我这样做是寻求帮助的.提前致谢.

php arrays json dataset

5
推荐指数
1
解决办法
1万
查看次数

如何在R中附加多个文件

我正在尝试读取文件列表并将它们附加到包含所有记录的新文件中.我不打算改变原始文件中的任何内容.我尝试了几种方法.

方法1:此方法创建一个新文件,但在每次迭代时,再次添加先前的文件.因为我以递归方式绑定数据帧.

files <- list.files(pattern = "\\.csv$")

  #temparary data frame to load the contents on the current file
  temp_df <- data.frame(ModelName = character(), Object = character(),stringsAsFactors = F)

  #reading each file within the range and append them to create one file
  for (i in 1:length(files)){
    #read the file
    currentFile = read.csv(files[i])

    #Append the current file
    temp_df = rbind(temp_df, currentFile)    
  }

  #writing the appended file  
  write.csv(temp_df,"Models_appended.csv",row.names = F,quote = F)
Run Code Online (Sandbox Code Playgroud)

方法2:我从Rbloggers获得了这个方法.此方法不会写入新文件,而是继续修改原始文件.

multmerge = function(){
  filenames= …
Run Code Online (Sandbox Code Playgroud)

csv r file append

5
推荐指数
3
解决办法
1万
查看次数

R:按字母数字对数据框进行排序

我有一个数据框,它存储每个模型的计数值。型号名称是字母数字。然后我使用 ggplot2 生成一个条形图,其中 x 轴为模型,y 轴为计数。我想订购我的 x 轴。x 轴在数据框中和图中的 x 轴中显示如下。我想对其进行正确排序,例如 M_1、M_2、M_3、M_10、M_11、M_20 等

Model   Count
M_1 73
M_10    71
M_100   65
M_11    65
M_110   64
M_111   71
M_13    70
M_130   73
M_2 72
M_20    69
M_200   63
M_21    72
M_210   72
M_211   67
M_3 78
M_30    76
M_300   59
M_31    73
M_310   64
Run Code Online (Sandbox Code Playgroud)

我尝试使用 order()、mixedsort()、arrange() 首先对数据帧进行排序,并在 ggplot2 中使用 Factor() 。然而并没有成功。

geneDFColSum[with(geneDFColSum, order(geneDFColSum$Model)), ]

geneDFColSum[with(geneDFColSum, mixedsort(geneDFColSum$Model)), ]

library(dplyr)
  arrange(geneDFColSum, Model)
Run Code Online (Sandbox Code Playgroud)

有办法实现这一点吗?我可以将型号分成一个单独的列,并按该列进行排序。不过看看是否有简单的方法。

sorting r alphanumeric

5
推荐指数
1
解决办法
2425
查看次数

使用HtmlAgilityPack获取html表的最后一个<tr>

我有一个html表结构.我需要获得<td>最终<tr>标签中第一个值的值.这是我的表格结构.我需要从以下函数getFinalNodeValue得到的值是" 3 ".

 <table id="test">
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Age</td>
            </tr>
            <tr>
                <td>1</td>
                <td>Yasoda</td>
                <td>21</td>
            </tr>

            <tr>
                <td>2</td>
                <td>Samantha</td>
                <td>25</td>
            </tr>

            <tr>
                <td>3</td>
                <td>Sajee</td>
                <td>26</td>
            </tr>

        </table>
Run Code Online (Sandbox Code Playgroud)


这是我用HtmlAgilityPack编写的代码.

 public String getFinalNodeValue(String URL)
        {
            var webGet = new HtmlWeb();
            var pageSource = webGet.Load(URL);

            var table = pageSource.DocumentNode.SelectSingleNode("//table[@id='test']//tr[1]");


            string id = null;


            IEnumerable<HtmlNode> trNodes = table.DescendantsAndSelf();

            foreach (var currentItem in trNodes)
            {
                if (currentItem == trNodes.Last())
                {
                    IEnumerable<HtmlNode> tdNodes = currentItem.Descendants();

                    foreach (var x in tdNodes)
                    {
                        if(x == …
Run Code Online (Sandbox Code Playgroud)

html html-table html-agility-pack

1
推荐指数
1
解决办法
3544
查看次数

R:将数据帧转换为矩阵

我有一个写入csv文件的矩阵.

在此输入图像描述

我正在尝试读取文件并将数据作为矩阵.我使用了as.matrix和data.matrix函数.但是我无法将数据作为矩阵加载.我的目标是使用此距离矩阵进行分层聚类.
在此输入图像描述 在此输入图像描述

r matrix

1
推荐指数
1
解决办法
4932
查看次数

特定的正则表达式不适用于R

我正试图找出一个字符串模式; (<double num><space><an operator><space><double num>)例如,(14.0 + 46.0)存在于使用R中的正则表达式的给定字符串中.可以有4个运算符+, - ,*和/.

主要有两种模式.第一个模式的正则表达式标识模式存在于字符串"s"中

#Pattern 1
s = "(14.0 + 46.0)"

#Regex
grep("^\\(-?\\d*\\.\\d{1}\\s[\\+\\-\\*\\/]\\s-?\\d*\\.\\d{1}\\)$", s)
Run Code Online (Sandbox Code Playgroud)

我试图在不同的字符串s1和s2中找到相同的模式.我通过.* 在字符串的开头和结尾添加(任何字符)来修改第一个正则表达式("^.* .*$").我已经在这个在线检查器中检查了正则表达式,但它确实有效.但它在R studio中不起作用.

#Pattern 2
s1 = "((5.0 - 50.0) - 15.0)"
s2 = "(15.0 - (5.0 - 50.0))"

#Regex
grep("^.*\\(-?\\d*\\.\\d{1}\\s[\\+\\-\\*\\/]\\s-?\\d*\\.\\d{1}\\).*$", s1)
Run Code Online (Sandbox Code Playgroud)

regex r

1
推荐指数
1
解决办法
650
查看次数

正则表达式匹配R中具有相同数字的模式

我有一组字符串,如下所示.每个字符串有3个数字,用下划线(_)分隔.每个数字都是1到100之间的值.

ma_1_1_1

ma_2_100_59

ma_29_29_29

ma_100_100_100

ma_7_72_78

ma_10_10_100

ma_4_4_49

我想写一个正则表达式,我可以得到数字相同的字符串.例如,我的输出将是

ma_1_1_1,ma_29_29_29和ma_100_100_100

regex r

0
推荐指数
1
解决办法
99
查看次数

SQLDF R:计算数据框中的唯一值

我有一个只有一列的数据框。有 10 行。

(4.0 * 3.0)
(4.0 * 3.0)
(2.0 * (1.0 * (1.0 * 6.0)))
(4.0 * (3.0 * 1.0))
(6.0 * 2.0)
(6.0 * 2.0)
(2.0 * 6.0)
(2.0 * 6.0)
(2.0 * 6.0)
(6.0 * 2.0)
Run Code Online (Sandbox Code Playgroud)

我需要提取列中的唯一值及其出现的次数。使用 sqldf 包我能够获得唯一的值。但不是计数。

询问:

sqldf("SELECT V1, COUNT(DISTINCT V1) as DinctC from dataset GROUP BY V1")
Run Code Online (Sandbox Code Playgroud)

输出:

                           V1 DinctC
1 (2.0 * (1.0 * (1.0 * 6.0)))      1
2                 (2.0 * 6.0)      1
3         (4.0 * (3.0 * 1.0))      1
4                 (4.0 …
Run Code Online (Sandbox Code Playgroud)

r dataframe sqldf

0
推荐指数
1
解决办法
1997
查看次数

如何在Python中将二叉树打印为节点结构

我有一个python代码将字符串数学表达式转换成二叉树并排序树的节点,以便左子节点始终小于右子节点。我想按以下顺序打印二叉树。

例如,考虑数学表达式((2 * 75)/ 4)。buildParseTree()将字符串表达式转换为树,并且printNodeInLevels()重新排列节点,以便在每个级别上,左子项小于右子项。操作数<运算符和运算符的顺序为'+'<'-'<'*'<'/'。如果树的结构是这样的

  +
  /\
 4  *
    /\
   2  75
Run Code Online (Sandbox Code Playgroud)

我想按以下方式打印它。我应该怎么做?因为数学表达式的长度一直在变化,例如(24 * 2),((5-1)*(2/3)),(20-(5 + 4))等

Node("+") #root
    .addkid(Node("*") #right child at level 1
        .addkid(Node("75")) #right child at level 2
        .addkid(Node("2")) #left child at level 2
            )
    .addkid(Node("4")) #left child at level 1
Run Code Online (Sandbox Code Playgroud)

我已经设计出按顺序遍历模式按节点级别打印节点的方法,如果我按如下方式调用该方法,它将打印以下内容:

pt = buildParseTree("( ( 2 * 74 ) / 4 )")

printNodesInLevels(pt)
Run Code Online (Sandbox Code Playgroud)

输出:

/ 
4 * 
2 74 
Run Code Online (Sandbox Code Playgroud)

python binary-tree tree-traversal

0
推荐指数
1
解决办法
1593
查看次数