GVKun编程网logo

获取下一行的每一行计数值并进行计算(获取下一行的每一行计数值并进行计算的函数)

12

本文将带您了解关于获取下一行的每一行计数值并进行计算的新内容,同时我们还将为您解释获取下一行的每一行计数值并进行计算的函数的相关知识,另外,我们还将为您提供关于bash–如何使用sed在文件中的每一行

本文将带您了解关于获取下一行的每一行计数值并进行计算的新内容,同时我们还将为您解释获取下一行的每一行计数值并进行计算的函数的相关知识,另外,我们还将为您提供关于bash – 如何使用sed在文件中的每一行之前插入一行,原始行的内容被字符串包围?、bash – 如何在除最后一行之外的每一行的末尾添加逗号?、bash – 如何将一行中的行附加到另一个文件的每一行的末尾?、c# – 迭代行时获取下一行的值的实用信息。

本文目录一览:

获取下一行的每一行计数值并进行计算(获取下一行的每一行计数值并进行计算的函数)

获取下一行的每一行计数值并进行计算(获取下一行的每一行计数值并进行计算的函数)

如何解决获取下一行的每一行计数值并进行计算?

我试图在下一行的开始数据中获取每一行的结束数据。收盘数据有这个计算

收市=开盘+扣押-(放行+股票返还)

代码:

<tableid="tblData">
   <thead>
      <trhttps://www.jb51.cc/tag/irs/" target="_blank">irstrow">
         <th>Date</th>
         <th>opening</th>
         <th>Seized</th>
         <th>Release</th>
         <th>Stock Return</th>
         <th>Closing </th>
      </tr>
   </thead>
   <tbody>
      <?PHP
         $query_monthly_report = $this->db->query("SELECT DATE_FORMAT(seized_date,''%Y-%m'') as ''Seized_Date'',sum(case when seized_remarks = ''Temporary Seized'' then 1 else 0 end) AS seized,sum(case when (DATE_FORMAT(release_date,''%Y-%m'') BETWEEN ''$start_m2'' AND ''$end_m2'') then 1 else 0 end) AS released,sum(case when (DATE_FORMAT(stock_return_date,''%Y-%m'') BETWEEN ''$start_m2'' AND ''$end_m2'') then 1 else 0 end) AS stock_return
            FROM mahindra
            where 
            (DATE_FORMAT(seized_date,''%Y-%m'') BETWEEN ''$start_m2'' AND ''$end_m2'')
            GROUP BY DATE_FORMAT(seized_date,''%Y-%m'')");
            
         foreach ($query_monthly_report->result() as $row){

         $opening = 0;
         $seized = $row->seized;
         $released = $row->released;
         $stock_return = $row->stock_return;
         $closing = $opening + $seized - $released - $stock_return;
         
         
         echo "
            <tr>
              <td>".$row->Seized_Date."</td>
              <td>".$opening."</td>
              <td>".$row->seized."</td>
              <td>".$row->released."</td>
              <td>".$row->stock_return."</td>
              <td>".$closing."</td>
              
         
            </tr>
            
                ";
                
         
         //echo $_SESSION["opening"] = $closing;
         }
         
        
         ?>
   </tbody>

结果我所拥有的和我想要的:

enter image description here

解决方法

只需将结束数据保存在您将在下一个循环中使用的 PHP 变量中。试试下面的代码:

<tableid="tblData">
               <thead>
                  <tr>
                     <th>Date</th>
                     <th>Opening</th>
                     <th>Seized</th>
                     <th>Release</th>
                     <th>Stock Return</th>
                     <th>Closing </th>
                  </tr>
               </thead>
               <tbody>
                  <?php
                     $query_monthly_report = $this->db->query("SELECT DATE_FORMAT(seized_date,''%Y-%m'') as ''Seized_Date'',sum(case when seized_remarks = ''Temporary Seized'' then 1 else 0 end) AS seized,sum(case when (DATE_FORMAT(release_date,''%Y-%m'') BETWEEN ''$start_m2'' AND ''$end_m2'') then 1 else 0 end) AS released,sum(case when (DATE_FORMAT(stock_return_date,''%Y-%m'') BETWEEN ''$start_m2'' AND ''$end_m2'') then 1 else 0 end) AS stock_return
                        FROM mahindra
                        where 
                        (DATE_FORMAT(seized_date,''%Y-%m'') BETWEEN ''$start_m2'' AND ''$end_m2'')
                        GROUP BY DATE_FORMAT(seized_date,''%Y-%m'')");
                        
                     
                     $opening = 0;
                     foreach ($query_monthly_report->result() as $row){

                     $seized = $row->seized;
                     $released = $row->released;
                     $stock_return = $row->stock_return;
                     $closing = $opening + $seized - $released - $stock_return;
                     
                     
                     echo "
                        <tr>
                          <td>".$row->Seized_Date."</td>
                          <td>".$opening."</td>
                          <td>".$row->seized."</td>
                          <td>".$row->released."</td>
                          <td>".$row->stock_return."</td>
                          <td>".$closing."</td>
                          
                     
                        </tr>
                        
                            ";
                            
                     $opening = $closing;
                     
                     //echo $_SESSION["opening"] = $closing;
                     }
                     
                    
                     ?>
               </tbody>

bash – 如何使用sed在文件中的每一行之前插入一行,原始行的内容被字符串包围?

bash – 如何使用sed在文件中的每一行之前插入一行,原始行的内容被字符串包围?

我试图使用sed(GNU sed版本4.2.1)在文件中的每一行之前插入一行,该行的内容由字符串围绕.

输入:

truncate table ALPHA;
truncate table BETA;
delete from TABLE_CHARLIE where ID=1;

预期结果:

SELECT 'truncate table ALPHA;' from dual;
truncate table ALPHA;
SELECT 'truncate table BETA;' from dual;
truncate table BETA;
SELECT 'delete from TABLE_CHARLIE where ID=1;' from dual;
delete from TABLE_CHARLIE where ID=1;

我试图使用&符号(&)特殊字符,但这似乎不起作用.如果我在替换字符串上放了&符之后的任何内容,则输出不正确.

尝试1:

sed -e "s/\(.*\)/SELECT '&\n&/g" input.txt

output:
SELECT 'truncate table ALPHA;
truncate table ALPHA;
SELECT 'truncate table BETA;
truncate table BETA;
SELECT 'delete from TABLE_CHARLIE where ID=1;
delete from TABLE_CHARLIE where ID=1;

使用前面的代码,我按预期得到了SELECT’,但是一旦我尝试添加’from dual;在字符串的右侧,事情变得糟糕.

尝试2:

sed -e "s/\(.*\)/SELECT '&' from dual;\n&/g"  input.txt

output:
' from dual;cate table ALPHA;
truncate table ALPHA;
' from dual;cate table BETA;
truncate table BETA;
SELECT 'delete from TABLE_CHARLIE where ID=1;' from dual;

解决方法

您可以利用保留空间临时存储原始行.

sed "h;s/.*/'SELECT '&' from dual;/;p;g" input.txt

或者更可读:

sed "
h
s/.*/'SELECT '&' from dual;/
p
g" input.txt

这是命令的细分.

>首先,输入的每一行都放在模式空间中.
> h命令将模式空间的内容复制到保留空间.
> s命令在模式空间上执行替换. &表示匹配的内容.此命令使保留空间不受影响.
> p命令将模式空间的内容输出到标准输出.
> g命令将保留空间的内容复制到模式空间.
>默认情况下,在读取下一个输入行之前,模式空间的内容将写入标准输出.

正如Glenn Jackman指出的那样,你可以用G替换p; g.然后在模式空间中建立一个两行值,然后打印,而不是打印两个单独的模式空间.

sed "h;s/.*/'SELECT '&' from dual;/;G" input.txt

此外,您可以向sed命令添加注释,以便您可以了解线路噪声稍后会发生什么:),如果这是在脚本中.

sed " 
# The input line is first copied to the pattern space

h                               # copy the pattern space to the hold space
s/.*/'SELECT '&' from dual;/    # Modify the pattern space
p                               # Print the (modified) pattern space
g                               # copy the hold space to the pattern space

# The output of the pattern space (the original input line) is Now printed
" input.txt

bash – 如何在除最后一行之外的每一行的末尾添加逗号?

bash – 如何在除最后一行之外的每一行的末尾添加逗号?

我想在除最后一行之外的这种文件的每一行末尾添加一个逗号:

我现在有这个:

{...}
{...}
{...}
{...}

我要这个:

{...},{...},{...}

如何使用命令行执行此操作?用sed命令可以吗?

以下sed脚本的地址表达式为$!它匹配不是最后一行的行,以及一个替换动作s / $/,/它在行尾添加一个逗号.
sed '$!s/$/,/' file

(地址中的$表示最后一行,而替换中正则表达式中的$表示每行上的最后一个字符位置.它们是不相关的,尽管在某种意义上类似.)

这将文件的修改内容打印到标准输出;重定向到另一个文件以将其保存到文件,或者如果您的sed支持,则使用sed -i. (某些变体需要-i选项的空参数,特别是* BSD / OSX sed.)

如果你的任务是从不是的东西生成有效的JSON,我对这种方法持怀疑态度.应该使用理解结构化格式的工具来操纵结构化格式,而不是基本的面向行的工具;但如果这有助于您将面向行的数据转换为适当的JSON,那么这可能是一种有效的用法.

…作为事后的想法,也许你想把输出包装在一组方括号中.然后它实际上是技术上有效的JSON(假设每一行都是一个有效的JSON片段).

sed '1s/^/[/;$!s/$/,/;$s/$/]/' file

在第一行(地址表达式1)替换在行开头(s / ^ / [/)的开头方括号中.在不是最后一行的行上,添加一个尾随逗号,如上所述.在最后一行(地址表达式$)的行末尾添加一个结束方括号(s / $/] /).如果您更喜欢分号换行,那就没问题;许多sed方言也允许你将它分成多个-e参数.

bash – 如何将一行中的行附加到另一个文件的每一行的末尾?

bash – 如何将一行中的行附加到另一个文件的每一行的末尾?

假设我有两个文件:

cat
dog
baboon
@H_301_10@ 
 
feline
canine
primate
@H_301_10@ 
 

我想在添加空格后将一个文件中的行附加到另一个文件的末尾.我知道在bash中使用for循环来做到这一点的方法,但我认为有一个命令可以做这种事情,我只是记不住了.

输出应如下所示:

cat feline
dog canine
baboon primate
@H_301_10@

解决方法

paste --delimiter=' ' file1 file2@H_301_10@ 
 

注意:结果将写入stdout.如果要将结果存储在文件中,请使用重定向运算符:

paste --delimiter=' ' file1 file2 > outputfile@H_301_10@ 
 

有关该命令的更多信息,请运行man paste.

c# – 迭代行时获取下一行的值

c# – 迭代行时获取下一行的值

myClass结构:

public class myClass
    {
        public string Name { get; set; }
        public string AdditionalData { get; set; }
        public System.DateTime ActivityTime { get; set; }
    }

我有一个上面的类列表,所有按活动时间排序说’行为’.

我希望将我的数据转换为以下类的列表..

public class newClass
    {
        public string Name { get; set; }
        public string AdditionalData { get; set; }
        public System.DateTime StartTime { get; set; }
    public System.DateTime EndTime { get; set; }
    }

这里的StartTime与prev class的ActivityTime具有相同的值,所以我没有问题.
但是EndTime应该具有下一个列表对象的ActivityTime值,这个我无法弄清楚如何获取..
最后一个列表对象的EndTime可以与starttime相同

所以我的代码是……

List<newClass> items = new List<newClass>();
foreach (var item in acts)
{

            newClass si = new newClass
                        {
                            Name=item.Name,AdditionalData=item.AdditionalData,StartTime = item.ActivityTime,EndTime = //what do I do here??????

                        };
                        items.Add(si);

}

任何帮助都是真诚的感谢

解决方法

我有一个比for循环更优雅的解决方案:

List<newClass> output = acts.Select((a,index) => new newClass()
        {
            Name = a.Name,AdditionalData = a.AdditionalData,StartTime = a.ActivityTime,EndTime = (index + 1 < acts.Count) ? acts[index + 1].ActivityTime : default(DateTime)
        }).ToList();

或者您可以使用for循环而不是foreach:

List<newClass> items = new List<newClass>();
// assuming length > 0
int length = (acts.Length  % 2 == 0) ? acts.Length : acts.Length - 1;
for (int i = 0; i < acts.Length; i++)
{
    newClass si = new newClass
    {
        Name=acts[i].Name,AdditionalData=acts[i].AdditionalData,StartTime = acts[i].ActivityTime,EndTime = acts[i+1].ActivityTime
    };
    items.Add(si);  
}

if (length < acts.Length)
  // handle the last element as you wish

今天的关于获取下一行的每一行计数值并进行计算获取下一行的每一行计数值并进行计算的函数的分享已经结束,谢谢您的关注,如果想了解更多关于bash – 如何使用sed在文件中的每一行之前插入一行,原始行的内容被字符串包围?、bash – 如何在除最后一行之外的每一行的末尾添加逗号?、bash – 如何将一行中的行附加到另一个文件的每一行的末尾?、c# – 迭代行时获取下一行的值的相关知识,请在本站进行查询。

本文标签: