Wolfram mathematica Mathematica中的循环问题

Wolfram mathematica Mathematica中的循环问题,wolfram-mathematica,Wolfram Mathematica,我目前正在尝试在Mathematica中运行一个循环,该循环将尝试在日期列表的{I,4}位置插入一周中的某一天。由于某些原因,当date[[i,3]]时,我无法使dayint增加=日期[[i-1,3]]和日期[[i,4]]=5的所有值。我将非常感谢在这个问题上提供的任何见解 In[4]:= n = 344674; dayint = 5; In[5]:= solardata = Import["U:\\Masters Project\\Hobo \ Data\\SORMS_Landfill

我目前正在尝试在Mathematica中运行一个循环,该循环将尝试在日期列表的
{I,4}
位置插入一周中的某一天。由于某些原因,当
date[[i,3]]时,我无法使
dayint
增加=日期[[i-1,3]]
和日期[[i,4]]=5的所有值。我将非常感谢在这个问题上提供的任何见解

In[4]:= n = 344674; dayint = 5;

In[5]:= solardata = 
  Import["U:\\Masters Project\\Hobo \
Data\\SORMS_Landfill_Comparison_Input.csv", "csv"];

In[6]:= date = 
 Table[DateList[{ToString[solardata[[i, 1]]], {"Month", "Day", 
     "YearShort"}}], {i, n}];

In[8]:= date[[1, 4]] = 5;

In[14]:= For[i = 2, i < n + 1, i++, 
 If[date[[i, 3]] == date[[i - 1, 3]], date[[i, 4]] = dayint, 
  If[dayint == 7, dayint = 1, dayint++]; date[[i, 4]] = dayint]];

In[17]:= date;
[4]中的
:=n=344674;dayint=5;
在[5]:=solardata=
导入[“U:\\Masters项目\\Hobo”\
数据\\SORMS_垃圾填埋场_比较_Input.csv”,“csv”];
在[6]:=日期=
表[DateList[{ToString[solardata[[i,1]]],{“月”,“日”,
“年短”{i,n}];
在[8]:=日期[[1,4]]=5;
在[14]中:=对于[i=2,i
似乎工作正常

n = 3; dayint = 5;

date = {
   {2013, 11, 30, 0, 0, 0.},
   {2013, 11, 30, 0, 0, 0.},
   {2013, 12, 01, 0, 0, 0.}};

For[i = 2, i < n + 1, i++,
  If[date[[i, 3]] == date[[i - 1, 3]],
   date[[i, 4]] = dayint,
   If[dayint == 7, dayint = 1, dayint++];
   date[[i, 4]] = dayint]];

date
包括所有日期


很难在不查看数据的情况下进行调试。你能提供一个小的数据集来重现这个问题(比如n=3…)从[5]开始的前三行:{{“11/14/2013”、13.3167、548.95、63.3193}、{“11/14/2013”、13.3333、473.03、181.288}、{“11/14/2013”、13.35、417.35、226.605}和[6]:{{{2013、11、14、0、0、0、{2013、11、14、14、14、0、0、{数据的结束日期为[[n,4]]=5,尽管我知道它应该是2014年7月24日的2(一个星期一)。我还检查了其他日期。全部5个。
date = {
   {2013, 11, 28, 0, 0, 0.},
   {2013, 11, 29, 0, 0, 0.},
   {2013, 11, 29, 0, 0, 0.},
   {2013, 11, 30, 0, 0, 0.},
   {2013, 11, 30, 0, 0, 0.},
   {2013, 12, 01, 0, 0, 0.}};

dates = Union@date;
{mindate, maxdate} = Through[{First, Last}@dates];
days = QuantityMagnitude@DateDifference[mindate, maxdate, "Day"];
If[Length[dates] == days + 1, "All dates included", "There are dates missing"]