# Add personalized column for "time intervals"

**URL:** <https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938>\
**Category:** New to Julia\
**Tags:** question, csv\
**Created:** [February 2, 2023, 4:28pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938 "2023-02-02T16:28:25Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 4:28pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/1 "2023-02-02T16:28:25Z")

</div>

Hello! Im working writing CSV of a diferents datas in columns in julia. I want to add to this csv file a new colum named “measure\_time” for time intervals personalized by the user for each row. For example, my data has 15 min difference for each other, so i want to this colums be:  
“Measure\_Time data1 data2 data3  
00:00 1 2 5  
00:15 6 4 2  
00:30 1 2 3  
00:45” 2 3 5"

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [February 2, 2023, 4:37pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/2 "2023-02-02T16:37:05Z")

</div>

This is straightforward with the `Dates` standard library:

```julia
julia> using Dates

julia> (Measure_Time = [Time(0, i) for i ∈ 0:15:45], data1 = rand(1:5, 4))
(Measure_Time = Time[Time(0), Time(0, 15), Time(0, 30), Time(0, 45)], data1 = [2, 2, 5, 2])

```

The second line constructs a named tuple which is the simplest Tables.jl-compatible table you can write to a csv.

---

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 4:42pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/3 "2023-02-02T16:42:35Z")

</div>

Thanks for your quick response! In this case, for i ∈ 0:15:45] builds me up to the data up to “00:45”, how should I do it so that the 96 intervals of the day are calculated? That is to say :  
00:00  
00:15  
00:30  
00:45  
01:00  
01:15  
.  
.  
.  
23:45

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [February 2, 2023, 5:46pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/4 "2023-02-02T17:46:57Z")

</div>

Simply `Measure_Time = Time(0):Minute(15):Time(23, 45)`

---

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 6:34pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/5 "2023-02-02T18:34:57Z")

</div>

Sorry it’s not working for me. The csv is still saved without adding this new column. I am doing it this way:

Measure\_names = myFction.dss.Circuit.AllBusNames()  
one\_iter = myFction.iter[1]  
two\_iter = myFction.iter[2]

for i in 1:phases  
CSV.write(pathname\*"\DB\_MachineLearning\my\_data"_string(i)_"one\_iter\_“_string(one\_iter)_“two\_iter"_string(two\_iter)_”.csv”,  
DataFrame(Measure\_values[:,:,i],:auto),header = Measure\_names, decima l= ‘.’)

```
end

```

to:

for i in 1:phases  
CSV.write(pathname\*"\DB\_MachineLearning\my\_data"_string(i)_"one\_iter\_“_string(one\_iter)_“two\_iter"_string(two\_iter)_”.csv”,  
DataFrame(Measure\_values[:,:,i],:auto), Measure\_Time = [Time(0):Minute(15):Time(23, 45)], header= Measure\_names ,decimal = ‘.’)

```
end

```

Thanks for helping me

---

<div class="post-metadata">

**Author:** ![Dan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dan/32/42581_2.png) [@Dan](https://discourse.julialang.org/u/Dan)\
**Post date:** [February 2, 2023, 6:50pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/6 "2023-02-02T18:50:13Z")

</div>

Maybe add `Measure_Time` to the saved DataFrame. Something like:

```julia
df = DataFrame(Measure_values[:,:,i],:auto)
df.Measure_Time = [Time(0):Minute(15):Time(23, 45)][1:nrow(df)]
CSV.write(pathname*"\DB_MachineLearning\my_data"string(i)"one_iter_“string(one_iter)“two_iter"string(two_iter)”.csv”, df,
  header= vcat(Measure_names, "Measure_Time") ,decimal = ‘.’)

```

Note that it is quite confusing to read your code when it isn’t formatted properly (with triple quotes around code). There is a preview pane, and an edit button to help you get your posts in best form.

---

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 7:15pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/7 "2023-02-02T19:15:12Z")

</div>

Hello. Thank you for your answer and teach me how to use the respective code format. An error has occurred in the df.Measure\_Time line. In this case I have 96 measurements.

```julia
df = DataFrame(Measure_values[:,:,i],:auto)
df.Measure_Time = ([Time(0):Minute(15):Time(23, 45)][1:nrow(df)])
CSV.write(pathname*"\DB_MachineLearning\my_data"string(i)"one_iter_“string(one_iter)“two_iter"string(two_iter)”.csv”, df, header= vcat(Measure_names, "Measure_Time") ,decimal = ‘.’)
BoundsError: attempt to access 1-element Vector{StepRange{Time, Minute}} at index [1:96]
Stacktrace:
 [1] throw_boundserror(A::Vector{StepRange{Time, Minute}}, I::Tuple{UnitRange{Int64}})
   @ Base .\abstractarray.jl:703
 [2] checkbounds
   @ .\abstractarray.jl:668 [inlined]
 [3] getindex
   @ .\array.jl:930 [inlined]

```

---

<div class="post-metadata">

**Author:** ![Dan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dan/32/42581_2.png) [@Dan](https://discourse.julialang.org/u/Dan)\
**Post date:** [February 2, 2023, 7:19pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/8 "2023-02-02T19:19:44Z")

</div>

> [@Matilopez06](#):
>
> `df.Measure_Time = ([Time(0):Minute(15):Time(23, 45)][1:nrow(df)])`

Sorry, my typo, try:

```julia
df.Measure_Time = (Time(0):Minute(15):Time(23, 45))[1:nrow(df)]

```

---

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 7:33pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/9 "2023-02-02T19:33:05Z")

</div>

Im Sorry. Another error appeared

```julia
TypeError: in keyword argument decimal, expected Char, got a value of type String
Stacktrace:
 [1] write(file::String, itr::DataFrame; append::Bool, compress::Bool, writeheader::Nothing, partition::Bool, kw::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:header, :decimal), Tuple{Vector{String}, String}}})
   @ CSV C:\Users\mati_\.julia\packages\CSV\b8ebJ\src\write.jl:174
 [2] save_DSSresults(myHC::HC)

```

---

<div class="post-metadata">

**Author:** ![Dan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dan/32/42581_2.png) [@Dan](https://discourse.julialang.org/u/Dan)\
**Post date:** [February 2, 2023, 7:44pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/10 "2023-02-02T19:44:26Z")

</div>

What is the statement producing this error?

---

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 8:04pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/13 "2023-02-02T20:04:01Z")

</div>

C

```julia
SV.write(pathname*"\DB_MachineLearning\my_data"string(i)"one_iter_“string(one_iter)“two_iter"string(two_iter)”.csv”, df, header= vcat(Measure_names, "Measure_Time") ,decimal = ‘.’)
ERROR: TypeError: in keyword argument decimal, expected Char, got a value of type String
Stacktrace:
 [1] write(file::String, itr::DataFrame; append::Bool, compress::Bool, writeheader::Nothing, partition::Bool, kw::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:header, :decimal), Tuple{Vector{String}, String}}})
```

---

<div class="post-metadata">

**Author:** ![Dan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dan/32/42581_2.png) [@Dan](https://discourse.julialang.org/u/Dan)\
**Post date:** [February 2, 2023, 8:06pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/14 "2023-02-02T20:06:39Z")

</div>

> [@Matilopez06](#):
>
> `,decimal = ‘.’)`

You should run this statement as is in your post, and not `,decimal = ".")` as you probably actually are (I think).

---

<div class="post-metadata">

**Author:** ![Matilopez06](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/matilopez06/32/46480_2.png) [@Matilopez06](https://discourse.julialang.org/u/Matilopez06)\
**Post date:** [February 2, 2023, 8:11pm UTC](https://discourse.julialang.org/t/add-personalized-column-for-time-intervals/93938/15 "2023-02-02T20:11:28Z")

</div>

You were correct! Thank you so much for all your help
