Calculate Average by Date from Text File

A

Alex

I have a comma separated text file in the form:

11/28/2004 12:00:00, 2.78655354
11/28/2004 12:00:10, 1.9978
11/28/2004 12:00:20, 0.978
11/29/2004 12:00:00, 1.98467
11/29/2004 12:00:10, 3.005

I would like to be able to read the file and then write just the date
and the average value to a to an array and then output it to a text
file. I am not having any problems reading in the file. However, I
can't figure out how to summarize the raw data into an array or
structure or collection. The data should look like this:

11/28/2004 1.9207844
11/29/2004 2.494835

I would imagine it requires a for loop of some sort. I have tried for
a while but with no luck. Hopefully, someone can answer this for me.
Here is what I have so far:

Private Sub btnWriteOutputFile_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnWriteOutputFile.Click
Dim srdCurrent As System.IO.StreamReader
Dim intInputCount, intOutputCount, intTempCount As Integer
Dim strLine As String
Dim strFields() As String
Dim chrDelimiter() As Char = {ToChar(",")}
Dim swriCurrent As System.IO.StreamWriter
ofdInputFile.Title = "What file do you want to summarize"
ofdInputFile.ShowDialog()
srdCurrent = New System.IO.StreamReader(ofdInputFile.FileName)
strLine = srdCurrent.ReadLine

Do Until strLine = Nothing
ReDim Preserve OutputRecords(intInputCount)
strFields = strLine.Split(chrDelimiter)
OutputRecords(intInputCount).RecordDate =
ToDateTime(strFields(0))
OutputRecords(intInputCount).Temperature =
ToSingle(strFields(1))
intInputCount += 1
strLine = srdCurrent.ReadLine
Loop
For intOutputCount = 0 To OutputRecords.GetUpperBound(0)

Summarizing Code Here ?????

Next
sfdOutputFile.Title = "Choose File or Name File to save
summary to"
sfdOutputFile.ShowDialog()
swriCurrent = New
System.IO.StreamWriter(sfdOutputFile.FileName)
For intOutputCount = 0 To OutputRecords.GetUpperBound(0)
swriCurrent.Write(OutputRecord(intCount).RecordDate.ToShortDateString
swriCurrent.Write(",")
swriCurrent.Write(OutputRecord(intCount).Temperature 'This
should be the average
swriCurrent.WriteLine()
Next

srdCurrent.Close()

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top