Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
如何在Stata中循环excel工作表和列表?_Excel_Foreach_Stata - Fatal编程技术网

如何在Stata中循环excel工作表和列表?

如何在Stata中循环excel工作表和列表?,excel,foreach,stata,Excel,Foreach,Stata,我刚开始与斯塔塔合作,但我不明白以下几点 如何循环查看Excel工作表列表和索引。这个现在很好用 clear all set more off local mysheets 1996 2000 2003 2007 2008 2010 local indices index1 index2 index3 foreach sheetname of local mysheets { import excel "C:\stata\Data.xls", sheet(`sheetname')

我刚开始与斯塔塔合作,但我不明白以下几点

  • 如何循环查看Excel工作表列表和索引。这个现在很好用

    clear all
    set more off
    
    local mysheets 1996 2000 2003 2007 2008 2010 
    local indices index1 index2 index3
    
    foreach sheetname of local mysheets {
    
        import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear
    
        foreach index of local indices{
           tobit theta index, ll(0) ul(1)
           outreg using "C:\stata\results.doc" , `append'
           local append "append"    
        }
    
    }
    
  • 只是作为答案发布(这样问题就不会显得没有答案),因为这似乎是一个简单的编码错误:

    • 确保本地宏名称始终一致(
      mysheet
      vs.
      mysheets
    • foreach
      循环内的
      foreach
      参数(在本例中为
      sheetname
      )使用本地宏语法
    • 如果使用本地宏定义
      outreg
      append
      选项,请在调用该选项之前对其进行定义

      clear all
      set more off
      local mysheets 1996 2000 2003 2007 2008 2010 
      local indices index1 index2 index3
      
      foreach sheetname of local mysheets {
          import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear
          foreach index of local indices {
             tobit theta `index', ll(0) ul(1)
             local append "append"    
             outreg using "C:\stata\results.doc" , `append'
          }
      }
      
    只是作为答案发布(这样问题就不会显得没有答案),因为这似乎是一个简单的编码错误:

    • 确保本地宏名称始终一致(
      mysheet
      vs.
      mysheets
    • foreach
      循环内的
      foreach
      参数(在本例中为
      sheetname
      )使用本地宏语法
    • 如果使用本地宏定义
      outreg
      append
      选项,请在调用该选项之前对其进行定义

      clear all
      set more off
      local mysheets 1996 2000 2003 2007 2008 2010 
      local indices index1 index2 index3
      
      foreach sheetname of local mysheets {
          import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear
          foreach index of local indices {
             tobit theta `index', ll(0) ul(1)
             local append "append"    
             outreg using "C:\stata\results.doc" , `append'
          }
      }
      
    只是作为答案发布(这样问题就不会显得没有答案),因为这似乎是一个简单的编码错误:

    • 确保本地宏名称始终一致(
      mysheet
      vs.
      mysheets
    • foreach
      循环内的
      foreach
      参数(在本例中为
      sheetname
      )使用本地宏语法
    • 如果使用本地宏定义
      outreg
      append
      选项,请在调用该选项之前对其进行定义

      clear all
      set more off
      local mysheets 1996 2000 2003 2007 2008 2010 
      local indices index1 index2 index3
      
      foreach sheetname of local mysheets {
          import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear
          foreach index of local indices {
             tobit theta `index', ll(0) ul(1)
             local append "append"    
             outreg using "C:\stata\results.doc" , `append'
          }
      }
      
    只是作为答案发布(这样问题就不会显得没有答案),因为这似乎是一个简单的编码错误:

    • 确保本地宏名称始终一致(
      mysheet
      vs.
      mysheets
    • foreach
      循环内的
      foreach
      参数(在本例中为
      sheetname
      )使用本地宏语法
    • 如果使用本地宏定义
      outreg
      append
      选项,请在调用该选项之前对其进行定义

      clear all
      set more off
      local mysheets 1996 2000 2003 2007 2008 2010 
      local indices index1 index2 index3
      
      foreach sheetname of local mysheets {
          import excel "C:\stata\Data.xls", sheet(`sheetname') firstrow clear
          foreach index of local indices {
             tobit theta `index', ll(0) ul(1)
             local append "append"    
             outreg using "C:\stata\results.doc" , `append'
          }
      }
      


    请注意,您的
    本地
    名称不同:
    mysheets
    mysheet
    此外,您在定义它之前使用了
    'append'
    (请注意
    '
    的用法不正确;我不知道如何获得该名称,以便在此上下文中使用正确的反勾号)。现在还不清楚你为什么要首先定义它(至少在这种情况下)。@Brendan谢谢。修复了这个问题,但仍然无法工作。至于append,我发现如果文件还没有创建,它不会第一次追加,而是会追加。哦,我必须将
    sheetname
    更改为`
    sheetname'
    ,并且它可以工作。请注意,您的
    local
    的命名方式也不同:
    mysheets
    mysheet
    不同,在定义它之前,您正在使用
    'append'
    (请注意
    '
    的用法不正确;我不知道如何才能在这种情况下使用正确的反勾号)。现在还不清楚你为什么要首先定义它(至少在这种情况下)。@Brendan谢谢。修复了这个问题,但仍然无法工作。至于append,我发现如果文件还没有创建,它不会第一次追加,而是会追加。哦,我必须将
    sheetname
    更改为`
    sheetname'
    ,并且它可以工作。请注意,您的
    local
    的命名方式也不同:
    mysheets
    mysheet
    不同,在定义它之前,您正在使用
    'append'
    (请注意
    '
    的用法不正确;我不知道如何才能在这种情况下使用正确的反勾号)。现在还不清楚你为什么要首先定义它(至少在这种情况下)。@Brendan谢谢。修复了这个问题,但仍然无法工作。至于append,我发现如果文件还没有创建,它不会第一次追加,而是会追加。哦,我必须将
    sheetname
    更改为`
    sheetname'
    ,并且它可以工作。请注意,您的
    local
    的命名方式也不同:
    mysheets
    mysheet
    不同,在定义它之前,您正在使用
    'append'
    (请注意
    '
    的用法不正确;我不知道如何才能在这种情况下使用正确的反勾号)。现在还不清楚你为什么要首先定义它(至少在这种情况下)。@Brendan谢谢。修复了这个问题,但仍然无法工作。至于append,我发现如果文件不是已经创建的,那么它不会第一次追加,而是会追加。哦,我必须将
    sheetname
    更改为`
    sheetname'
    ,它可以工作。我是否可以添加Brendan,在嵌套的foreach循环中添加索引宏变量上的记号:
    tobit theta
    `
    index',ll(0)ul(1)
    谢谢;我只是更正了以前标识的项,但您当然是正确的。我是否可以添加Brendan以在嵌套的foreach循环中添加索引宏变量上的记号:
    tobit theta
    `
    index',ll(0)ul(1)
    谢谢;我只是更正了以前标识的项,但您当然是正确的。我是否可以添加Brendan以在嵌套的foreach循环中添加索引宏变量上的记号:
    tobit theta
    `
    index',ll(0)ul(1)
    谢谢;我只是更正了以前标识的项,但您当然是正确的。我是否可以添加Brendan以在嵌套的foreach循环中添加索引宏变量上的记号:
    tobit theta
    `
    index',ll(0)ul(1)
    谢谢;他只是在纠正t