有表名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版本有问题?
对此有任何帮助表示高度赞赏.谢谢 :)
我有一组错误命名的文件.文件名如下.
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) 我想从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)
我这样做是寻求帮助的.提前致谢.
我正在尝试读取文件列表并将它们附加到包含所有记录的新文件中.我不打算改变原始文件中的任何内容.我尝试了几种方法.
方法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) 我有一个数据框,它存储每个模型的计数值。型号名称是字母数字。然后我使用 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)
有办法实现这一点吗?我可以将型号分成一个单独的列,并按该列进行排序。不过看看是否有简单的方法。
我有一个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) 我正试图找出一个字符串模式; (<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) 我有一组字符串,如下所示.每个字符串有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
我有一个只有一列的数据框。有 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) 我有一个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)