import csv file from weatherlink davis to weewx

290 views
Skip to first unread message

Artvd

unread,
Feb 27, 2022, 8:03:52 AM2/27/22
to weewx-user
I am trying to import a monthly csv file to weewx using the weewx import guideline .Unfortunately i get a error. I wonder if someone could help me to solve the problem. Below is weewx output of the dry run  

wee_import --import-config=/var/tmp/csv.conf --dry-run
Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
A CSV import from source file '/var/tmp/data.csv' has been requested.
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x01' (US).
Missing derived observations will be calculated.
This is a dry run, imported data will not be saved to archive.
Starting dry run import ...
**** Unable to decode source data for period 1.
**** 'utf-8' codec can't decode byte 0xb0 in position 29: invalid start byte

**** Period 1 will be skipped. Proceeding to next period.
**** Consider specifying the source file encoding using the 'source_encoding' config option.
Traceback (most recent call last):
  File "/usr/share/weewx/weedb/sqlite.py", line 30, in guarded_fn
    return fn(*args, **kwargs)
  File "/usr/share/weewx/weedb/sqlite.py", line 219, in execute
    return sqlite3.Cursor.execute(self, *args, **kwargs)
sqlite3.OperationalError: attempt to write a readonly database

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/weewx/wee_import", line 899, in <module>
    main()
  File "/usr/share/weewx/wee_import", line 829, in main
    source_obj.run()
  File "/usr/share/weewx/weeimport/weeimport.py", line 435, in run
    self.dbm._write_metadata('lastUpdate', str(int(new_last_update)))
  File "/usr/share/weewx/weewx/manager.py", line 1494, in _write_metadata
    _cursor.execute(DaySummaryManager.meta_replace_str % self.table_name,
  File "/usr/share/weewx/weedb/sqlite.py", line 44, in guarded_fn
    raise weedb.OperationalError(e)
weedb.OperationalError: attempt to write a readonly database

gjr80

unread,
Feb 27, 2022, 8:38:26 PM2/27/22
to weewx-user
You have two things going on here.

**** Unable to decode source data for period 1.
**** 'utf-8' codec can't decode byte 0xb0 in position 29: invalid start byte

**** Period 1 will be skipped. Proceeding to next period.
**** Consider specifying the source file encoding using the 'source_encoding' config option.

This is a warning that you have characters in your source data, in this case the degree symbol, that wee_import cannot process. Consequently the first period of data was skipped. The warning suggests specifying the encoding using the source_encoding config option but you really need to remove the offending character(s).

The 'readonly database'  error is likely due to permissions on your sqlite database file and the user that was running wee_import having insufficient privileges to write to that file. If WeeWX is run as the root user you may need to use sudo to run wee_import, eg:

$ sudo wee_import <rest of wee_import options>

Gary

Artvd

unread,
Feb 28, 2022, 2:25:02 PM2/28/22
to weewx-user

@Gary Thanks for your reaction.  The offending character is likely  the degrees sign in the title row. But after removing them I faced another problem: TypeError: "delimiter" must be a 1-character string
I have tried many changes and used a one row testfile but the error remained. Finally i copied the data from the davis site to excell. When using these data there is no error. However the timestamp can not be found.

This is the tile and a line of the data.csv file

Date & Time;Inside Temp - C;High Inside Temp - C;Low Inside Temp - C;Inside Hum;High Inside Hum;Low Inside Hum;Inside Dew Point - C;Inside Heat Index - C;Barometer - hPa;High Bar - hPa;Low Bar - hPa;Absolute Pressure - hPa;Temp - C;High Temp - C;Low Temp - C;Hum;High Hum;Low Hum;Dew Point - C;High Dew Point - C;Low Dew Point - C;Wet Bulb - C;High Wet Bulb - C;Low Wet Bulb - C;Avg Wind Speed - m/s;Prevailing Wind Direction;High Wind Spe7ed - m/s;High Wind Direction;Wind Chill - C;Low Wind Chill - C;Heat Index - C;High Heat Index - C;THW Index - C;High THW Index - C;Low THW Index - C;Rain - mm;High Rain Rate - mm/h;Heating Degree Days;Cooling Degree Days

2022-01-01 00:00;21,5;21,7;21,4;53,1;53,3;52,9;11,6;20,8;1026,7;1026,7;1026,7;971,8;9,5;9,6;9,5;95,9;96,1;95,9;8,9;8,9;8,9;9,2;9,2;9,2;0;;0;;9,5;9,5;9,8;9,9;9,8;9,9;9,8;0;0;0,092;0

This is the output
sudo wee_import --import-config=/var/tmp/csv.conf --dry-run

Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
A CSV import from source file '/var/tmp/data.csv' has been requested.
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x01' (US).
Missing derived observations will be calculated.
This is a dry run, imported data will not be saved to archive.
Starting dry run import ...
**** Unable to map source data.
**** Field 'timestamp' not found in source data.
**** Nothing done, exiting.

Op maandag 28 februari 2022 om 02:38:26 UTC+1 schreef gjr80:

gjr80

unread,
Feb 28, 2022, 3:54:44 PM2/28/22
to weewx-user
The 'timestamp' error indicates that wee_import is looking for date-time data for each record in a field named timestamp, your source data has no such field so the import fails. What is in the field map in your import config file? I am guessing that date-time wise it is still uses the example import config file entry:

[[FieldMap]]
dateTime = timestamp, unix_epoch
interval =

barometer = barometer, inHg


In your case (based on the sample data provided) the dateTime entry needs to be something like (untested):

        dateTime = "Date & Time", unix_epoch

In addition you will need to tell wee_import what format your date-time data uses. You do that by setting the raw_datetime_format option in your import config file. Again, based on your sample data,  something like:

raw_datetime_format = %Y-%m-%d %H:%M

%m and %d may need to be transposed, I cannot tell from your data whether it uses year-month-day or year-day-month.

One other thing you will need to do, if you have not already done so, is to ensure the import config file field map contains the names of the source data fields you wish to import. Taking the barometer line from the default [[FieldMap]] extract I provided above you will need to change it to read:

        barometer = "Barometer - hPa", hPa

Gary

Artvd

unread,
Feb 28, 2022, 6:26:02 PM2/28/22
to weewx-user
@Gary. Thanks again. I am almost getting there thanks to your help
I am stuck however with the Wind direction units. Have you any idea what this should be for the attached windvector ?7vg24yyo.png 
Op maandag 28 februari 2022 om 21:54:44 UTC+1 schreef gjr80:

gjr80

unread,
Feb 28, 2022, 9:42:08 PM2/28/22
to weewx-user
I'm sorry but I don't see what a wind plot has to do with wee_import. Looking at the sample data you posted earlier your wind direction data appears to be in degrees so you would be using something like the following in your field map:

        windDir = xxxxxx, degree_compass

        
windGustDir = yyyyyy, degree_compass

substituting the field names you wish to use from your source data for xxxxxx and yyyyyy.

Or are you asking something completely different?

Gary

Artvd

unread,
Mar 1, 2022, 3:42:05 AM3/1/22
to weewx-user


@Gary Thanks for your reaction

With degree_compass  i get:  KeyError: 'percent'
I think this is because the data provided by Davis gives the winddirection in directions of a windrose (N, S, etc). But i do not find the unit name for these direction which weewx accepts.


Op dinsdag 1 maart 2022 om 03:42:08 UTC+1 schreef gjr80:

gjr80

unread,
Mar 1, 2022, 6:48:07 PM3/1/22
to weewx-user
"KeyError: 'percent" is suggestive of a  error in your import config file or your source data. A few things to help us trouble shoot your problem:

- please don't summarise error/message or output, post the actual error message/output as you did in your first post, there are often other clues in the error message/output that may not be evident to the user but are helpful to us
- your sample data you posted earlier does not include N, S etc please post the actual data you are trying to import
- please post your import config file

Gary

Artvd

unread,
Mar 2, 2022, 3:38:28 AM3/2/22
to weewx-user
@gary I am sorry that the line a posted did not include N,S etc because there had been no wind reported.
I had been changing all kind of things the last couple of days. Converted the Davis file in excel etc.
In the meantime i have gained some more insight. As I would like to import 13 months, i probably better go back to the original import file. I will have to amend the import config file, which will take some time.

Below you will find (part of) this original file exported from Weatherlink.com. As you can see in the first 5 line it uses SW WSW W W. I am looking for the correct unit name for weewx of such data (instead of degree_compass)
 

"Date & Time","Inside Temp - °C","High Inside Temp - °C","Low Inside Temp - °C","Inside Hum - %","High Inside Hum - %","Low Inside Hum - %","Inside Dew Point - °C","Inside Heat Index - °C","Barometer - hPa","High Bar - hPa","Low Bar - hPa","Absolute Pressure - hPa","Temp - °C","High Temp - °C","Low Temp - °C","Hum - %","High Hum - %","Low Hum - %","Dew Point - °C","High Dew Point - °C","Low Dew Point - °C","Wet Bulb - °C","High Wet Bulb - °C","Low Wet Bulb - °C","Avg Wind Speed - m/s","Prevailing Wind Direction","High Wind Speed - m/s","High Wind Direction","Wind Chill - °C","Low Wind Chill - °C","Heat Index - °C","High Heat Index - °C","THW Index - °C","High THW Index - °C","Low THW Index - °C","Rain - mm","High Rain Rate - mm/h","Heating Degree Days","Cooling Degree Days"
"1/1/21 00:00","20,7","21,1","20,7","42,1","42,2","41,8","7,4","19,7","1004,2","1004,2","1004,2","950,3","0,2","0,2","0,1","98,7","98,8","98,7","0,0","0,0","-0,1","0,1","0,1","0,1","0,0","","0,0","","0,2","0,1","0,2","0,2","0,2","0,2","0,1","0,0","0,0","0,189","0,000"
"1/1/21 00:15","20,5","20,8","20,5","41,9","42,6","41,6","7,1","19,4","1004,2","1004,3","1004,2","950,3","0,2","0,2","0,1","98,5","98,7","98,5","-0,1","0,0","-0,1","0,1","0,1","0,0","0,0","","0,7","SW","0,2","0,1","0,2","0,2","0,2","0,2","0,1","0,0","0,0","0,189","0,000"
"1/1/21 00:30","20,3","20,6","20,3","42,4","42,8","41,8","7,1","19,3","1004,2","1004,3","1004,2","950,3","0,2","0,2","0,1","98,4","98,6","98,4","-0,1","0,0","-0,1","0,1","0,1","0,0","0,0","","0,3","WSW","0,2","0,1","0,2","0,2","0,2","0,2","0,1","0,0","0,0","0,189","0,000"
"1/1/21 00:45","20,3","20,4","20,2","41,8","42,5","41,6","6,9","19,3","1004,3","1004,4","1004,2","950,4","0,1","0,2","0,1","98,2","98,3","98,1","-0,2","-0,1","-0,2","0,0","0,1","-0,1","0,0","","0,2","W","0,1","0,1","0,1","0,2","0,1","0,2","0,1","0,0","0,0","0,190","0,000"
"1/1/21 01:00","20,2","20,3","20,1","41,8","42,6","41,6","6,8","19,2","1004,4","1004,4","1004,3","950,5","0,0","0,1","0,0","97,9","98,2","97,9","-0,3","-0,2","-0,3","-0,1","0,0","-0,1","0,0","","0,4","W","0,0","0,0","0,0","0,1","0,0","0,1","0,0","0,0","0,0","0,191","0,000"
"1/1/21 01:15","20,1","20,3","20,1","41,6","41,9","41,4","6,6","19,1","1004,5","1004,6","1004,4","950,6","0,0","0,1","-0,1","98,1","98,1","97,9","-0,3","-0,2","-0,3","-0,1","-0,1","-0,2","0,0","","0,0","","0,0","-0,1","0,0","0,1","0,0","0,1","-0,1","0,0","0,0","0,191","0,000"
"1/1/21 01:30","19,8","20,1","19,8","42,1","42,2","41,4","6,6","18,8","1004,6","1004,6","1004,5","950,7","-0,1","0,0","-0,1","98,0","98,1","97,9","-0,4","-0,3","-0,4","-0,2","-0,1","-0,2","0,0","","0,0","","-0,1","-0,1","-0,1","0,0","-0,1","0,0","-0,1","0,0","0,0","0,192","0,000"
"1/1/21 01:45","19,4","19,8","19,4","42,0","42,0","41,6","6,2","18,3","1004,6","1004,7","1004,6","950,7","-0,2","-0,1","-0,2","98,1","98,1","98,0","-0,4","-0,3","-0,4","-0,3","-0,2","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,1","-0,2","-0,1","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 02:00","19,1","19,4","19,1","42,3","42,3","41,8","5,9","17,9","1004,6","1004,6","1004,6","950,7","-0,1","-0,1","-0,2","98,2","98,2","98,1","-0,3","-0,3","-0,4","-0,2","-0,2","-0,3","0,0","","0,0","","-0,1","-0,2","-0,1","-0,1","-0,1","-0,1","-0,2","0,0","0,0","0,192","0,000"
"1/1/21 02:15","18,9","19,2","18,9","42,1","42,3","41,9","5,8","17,8","1004,7","1004,7","1004,6","950,8","-0,2","-0,1","-0,2","98,3","98,3","98,2","-0,4","-0,3","-0,4","-0,3","-0,2","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,1","-0,2","-0,1","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 02:30","18,7","18,9","18,6","42,6","42,6","42,1","5,7","17,5","1004,8","1004,8","1004,7","950,9","-0,2","-0,2","-0,2","98,3","98,3","98,3","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 02:45","18,3","18,7","18,3","42,9","42,9","42,3","5,5","17,0","1005,1","1005,1","1004,8","951,1","-0,2","-0,2","-0,2","98,4","98,4","98,3","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 03:00","18,1","18,4","18,1","43,1","43,1","42,7","5,3","16,7","1005,1","1005,1","1005,0","951,2","-0,2","-0,2","-0,2","98,4","98,4","98,3","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 03:15","17,9","18,2","17,8","43,3","43,3","43,0","5,3","16,5","1005,2","1005,2","1005,1","951,3","-0,2","-0,2","-0,2","98,4","98,5","98,4","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 03:30","17,8","17,9","17,7","43,5","43,5","43,2","5,2","16,3","1005,5","1005,5","1005,2","951,5","-0,2","-0,2","-0,2","98,4","98,5","98,4","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 03:45","17,6","17,8","17,5","43,7","43,8","43,4","5,1","16,1","1005,5","1005,5","1005,4","951,6","-0,2","-0,2","-0,2","98,4","98,4","98,4","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 04:00","17,4","17,6","17,4","43,9","44,0","43,6","5,0","15,9","1005,6","1005,6","1005,5","951,6","-0,2","-0,2","-0,2","98,3","98,4","98,3","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 04:15","17,3","17,5","17,3","43,8","44,1","43,6","4,9","15,9","1005,6","1005,6","1005,5","951,6","-0,2","-0,2","-0,2","98,4","98,4","98,3","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 04:30","17,0","17,3","17,0","44,2","44,2","43,8","4,7","15,6","1005,6","1005,6","1005,5","951,7","-0,2","-0,2","-0,2","98,4","98,5","98,4","-0,4","-0,4","-0,4","-0,3","-0,3","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 04:45","16,8","17,1","16,7","44,6","44,7","44,0","4,7","15,4","1005,8","1005,8","1005,6","951,8","-0,3","-0,2","-0,3","98,4","98,5","98,4","-0,5","-0,4","-0,5","-0,4","-0,3","-0,4","0,0","","0,0","","-0,3","-0,3","-0,3","-0,2","-0,3","-0,2","-0,3","0,0","0,0","0,194","0,000"
"1/1/21 05:00","16,8","16,8","16,7","44,6","44,8","44,4","4,7","15,4","1005,8","1005,8","1005,7","951,8","-0,3","-0,3","-0,4","98,1","98,4","98,1","-0,6","-0,5","-0,7","-0,4","-0,4","-0,5","0,0","","0,0","","-0,3","-0,4","-0,3","-0,3","-0,3","-0,3","-0,4","0,0","0,0","0,194","0,000"
"1/1/21 05:15","16,6","16,8","16,6","44,6","44,8","44,4","4,4","15,2","1005,8","1005,8","1005,7","951,8","-0,3","-0,3","-0,4","98,1","98,1","98,0","-0,6","-0,6","-0,7","-0,4","-0,4","-0,5","0,0","","0,0","","-0,3","-0,4","-0,3","-0,3","-0,3","-0,3","-0,4","0,0","0,0","0,194","0,000"
"1/1/21 05:30","16,4","16,7","16,4","44,7","44,9","44,4","4,3","15,0","1005,8","1005,9","1005,7","951,8","-0,4","-0,3","-0,4","98,0","98,1","98,0","-0,7","-0,6","-0,7","-0,5","-0,4","-0,5","0,0","","0,0","","-0,4","-0,4","-0,4","-0,3","-0,4","-0,3","-0,4","0,0","0,0","0,195","0,000"
"1/1/21 05:45","16,3","16,6","16,2","45,0","45,0","44,6","4,3","14,9","1006,1","1006,1","1005,8","952,1","-0,4","-0,3","-0,4","98,2","98,2","97,9","-0,6","-0,6","-0,7","-0,5","-0,4","-0,6","0,0","","0,0","","-0,4","-0,4","-0,4","-0,3","-0,4","-0,3","-0,4","0,0","0,0","0,195","0,000"
"1/1/21 06:00","16,1","16,3","16,0","45,5","45,5","45,0","4,3","14,7","1006,0","1006,1","1006,0","952,0","-0,4","-0,3","-0,4","98,1","98,2","98,1","-0,7","-0,6","-0,7","-0,6","-0,4","-0,6","0,0","","0,0","","-0,4","-0,4","-0,4","-0,3","-0,4","-0,3","-0,4","0,0","0,0","0,196","0,000"
"1/1/21 06:15","15,8","16,1","15,8","45,6","45,8","45,4","4,1","14,5","1006,1","1006,1","1006,0","952,1","-0,5","-0,4","-0,6","98,0","98,1","97,9","-0,8","-0,7","-0,8","-0,6","-0,6","-0,7","0,0","","0,0","","-0,5","-0,6","-0,5","-0,4","-0,5","-0,4","-0,6","0,0","0,0","0,196","0,000"
"1/1/21 06:30","15,7","16,0","15,7","45,9","46,0","45,6","4,1","14,4","1006,1","1006,1","1006,0","952,1","-0,4","-0,4","-0,6","98,2","98,2","97,9","-0,7","-0,7","-0,8","-0,6","-0,6","-0,7","0,0","","0,0","","-0,4","-0,6","-0,4","-0,4","-0,4","-0,4","-0,6","0,0","0,0","0,196","0,000"
"1/1/21 06:45","15,7","15,9","15,6","45,9","46,1","45,6","4,1","14,3","1006,2","1006,2","1006,1","952,3","-0,5","-0,4","-0,6","98,2","98,3","98,2","-0,7","-0,7","-0,8","-0,6","-0,6","-0,7","0,0","","0,0","","-0,5","-0,6","-0,5","-0,4","-0,5","-0,4","-0,6","0,0","0,0","0,196","0,000"
"1/1/21 07:00","15,7","15,7","15,5","46,1","46,2","45,9","4,1","14,3","1006,3","1006,4","1006,2","952,4","-0,5","-0,4","-0,6","98,1","98,2","98,1","-0,8","-0,7","-0,8","-0,6","-0,6","-0,7","0,0","","0,0","","-0,5","-0,6","-0,5","-0,4","-0,5","-0,4","-0,6","0,0","0,0","0,196","0,000"
"1/1/21 07:15","15,8","15,9","15,7","46,3","46,3","45,6","4,3","14,5","1006,6","1006,6","1006,3","952,6","-0,6","-0,5","-0,6","97,8","98,2","97,8","-0,8","-0,7","-0,8","-0,7","-0,6","-0,7","0,0","","0,0","","-0,6","-0,6","-0,6","-0,5","-0,6","-0,5","-0,6","0,0","0,0","0,197","0,000"
"1/1/21 07:30","15,9","16,1","15,7","46,2","46,4","46,0","4,4","14,6","1006,8","1006,8","1006,6","952,8","-0,7","-0,5","-0,7","96,8","97,8","96,8","-1,1","-0,8","-1,1","-0,8","-0,6","-0,8","0,0","","0,0","","-0,7","-0,7","-0,7","-0,5","-0,7","-0,5","-0,7","0,0","0,0","0,198","0,000"
"1/1/21 07:45","16,2","16,2","15,9","46,4","46,7","46,0","4,7","14,8","1006,9","1006,9","1006,8","952,9","-0,7","-0,7","-0,8","97,7","97,7","96,7","-1,1","-1,1","-1,2","-0,9","-0,8","-0,9","0,0","","0,0","","-0,7","-0,8","-0,7","-0,7","-0,7","-0,7","-0,8","0,0","0,0","0,198","0,000"
"1/1/21 08:00","16,6","16,6","16,2","46,3","46,6","46,1","5,1","15,3","1007,1","1007,2","1006,9","953,1","-0,7","-0,6","-0,7","98,0","98,0","97,7","-0,9","-0,9","-1,1","-0,8","-0,7","-0,9","0,0","","0,0","","-0,7","-0,7","-0,7","-0,6","-0,7","-0,6","-0,7","0,0","0,0","0,198","0,000"
"1/1/21 08:15","17,0","17,1","16,6","45,6","46,3","45,6","5,2","15,7","1007,1","1007,2","1007,0","953,1","-0,8","-0,7","-0,8","97,7","97,9","97,5","-1,1","-0,9","-1,1","-0,9","-0,8","-0,9","0,0","","0,0","","-0,8","-0,8","-0,8","-0,7","-0,8","-0,7","-0,8","0,0","0,0","0,199","0,000"
"1/1/21 08:30","17,3","17,4","16,9","45,6","46,1","45,4","5,4","15,9","1007,3","1007,3","1007,0","953,2","-0,7","-0,7","-0,8","97,6","97,7","97,6","-1,1","-1,1","-1,1","-0,9","-0,9","-0,9","0,0","","0,0","","-0,7","-0,8","-0,7","-0,7","-0,7","-0,7","-0,8","0,0","0,0","0,198","0,000"
"1/1/21 08:45","17,7","17,7","17,3","46,6","47,9","45,0","6,1","16,4","1007,4","1007,5","1007,2","953,4","-0,8","-0,7","-0,8","97,7","97,8","97,5","-1,1","-1,1","-1,2","-0,9","-0,9","-1,0","0,0","","0,0","","-0,8","-0,8","-0,8","-0,7","-0,8","-0,7","-0,8","0,0","0,0","0,199","0,000"
"1/1/21 09:00","18,1","18,1","17,7","46,6","47,8","46,4","6,4","16,8","1007,5","1007,5","1007,3","953,4","-0,8","-0,8","-0,8","97,5","97,7","97,5","-1,2","-1,1","-1,2","-1,0","-0,9","-1,0","0,0","","0,0","","-0,8","-0,8","-0,8","-0,8","-0,8","-0,8","-0,8","0,0","0,0","0,200","0,000"
"1/1/21 09:15","18,6","18,6","18,1","46,4","46,8","45,6","6,8","17,4","1007,6","1007,6","1007,4","953,6","-0,8","-0,8","-0,8","97,3","97,5","97,3","-1,2","-1,1","-1,2","-1,0","-0,9","-1,0","0,0","","0,0","","-0,8","-0,8","-0,8","-0,8","-0,8","-0,8","-0,8","0,0","0,0","0,200","0,000"
"1/1/21 09:30","18,8","18,8","18,5","45,0","46,9","44,9","6,7","17,7","1007,7","1007,7","1007,6","953,7","-0,8","-0,8","-0,8","97,3","97,4","97,2","-1,2","-1,1","-1,2","-0,9","-0,9","-1,0","0,0","","0,0","","-0,8","-0,8","-0,8","-0,8","-0,8","-0,8","-0,8","0,0","0,0","0,199","0,000"
"1/1/21 09:45","18,9","18,9","18,7","44,6","45,0","43,5","6,6","17,8","1007,8","1007,9","1007,7","953,8","-0,6","-0,6","-0,8","97,5","97,6","97,2","-0,9","-0,9","-1,2","-0,7","-0,7","-0,9","0,0","","0,0","","-0,6","-0,8","-0,6","-0,6","-0,6","-0,6","-0,8","0,0","0,0","0,197","0,000"
"1/1/21 10:00","19,1","19,2","18,9","44,8","46,1","44,1","6,8","18,1","1008,0","1008,0","1007,8","953,9","-0,4","-0,4","-0,6","97,3","97,5","97,1","-0,8","-0,8","-0,9","-0,6","-0,6","-0,8","0,0","","0,0","","-0,4","-0,6","-0,4","-0,4","-0,4","-0,4","-0,6","0,0","0,0","0,196","0,000"
"1/1/21 10:15","19,4","19,4","19,2","44,0","44,9","44,0","6,8","18,4","1008,1","1008,1","1008,0","954,0","-0,2","-0,2","-0,4","96,6","97,3","96,6","-0,7","-0,7","-0,8","-0,4","-0,4","-0,6","0,0","","0,0","","-0,2","-0,4","-0,2","-0,2","-0,2","-0,2","-0,4","0,0","0,0","0,193","0,000"
"1/1/21 10:30","19,5","19,6","19,3","44,5","45,0","44,0","7,1","18,5","1008,2","1008,3","1008,1","954,1","-0,1","0,0","-0,2","96,3","96,9","96,3","-0,6","-0,5","-0,7","-0,3","-0,2","-0,4","0,0","","0,0","","-0,1","-0,2","-0,1","0,0","-0,1","0,0","-0,2","0,0","0,0","0,192","0,000"
"1/1/21 10:45","19,7","19,8","19,5","43,9","44,7","43,9","7,1","18,8","1008,4","1008,4","1008,2","954,4","0,1","0,1","0,0","96,2","96,5","95,6","-0,5","-0,4","-0,6","-0,2","-0,2","-0,3","0,0","","0,0","","0,1","0,0","0,1","0,1","0,1","0,1","0,0","0,0","0,0","0,190","0,000"
"1/1/21 11:00","19,8","19,9","19,7","43,6","44,0","43,3","7,1","18,9","1008,6","1008,6","1008,4","954,6","0,3","0,3","0,1","95,3","96,2","95,2","-0,4","-0,3","-0,5","0,0","0,0","-0,2","0,0","","0,0","","0,3","0,1","0,3","0,3","0,3","0,3","0,1","0,0","0,0","0,188","0,000"
"1/1/21 11:15","19,9","20,0","19,7","44,0","44,5","42,8","7,3","19,0","1008,7","1008,7","1008,6","954,6","0,3","0,3","0,2","95,8","95,8","94,7","-0,3","-0,3","-0,5","0,1","0,1","-0,1","0,0","","0,0","","0,3","0,2","0,3","0,3","0,3","0,3","0,2","0,0","0,0","0,188","0,000"
"1/1/21 11:30","20,1","20,1","19,9","42,7","44,3","42,7","7,0","19,1","1008,7","1008,8","1008,7","954,7","0,4","0,5","0,3","95,0","95,7","94,9","-0,3","-0,2","-0,4","0,1","0,2","0,0","0,0","","0,0","","0,4","0,3","0,4","0,5","0,4","0,5","0,3","0,0","0,0","0,186","0,000"
"1/1/21 11:45","20,2","20,3","20,1","43,4","44,4","42,6","7,4","19,3","1008,7","1008,8","1008,6","954,6","0,7","0,7","0,4","94,8","95,6","94,7","0,0","0,1","-0,3","0,4","0,4","0,1","0,0","","0,0","","0,7","0,4","0,7","0,7","0,7","0,7","0,4","0,0","0,0","0,183","0,000"
"1/1/21 12:00","20,9","20,9","20,4","43,4","45,3","42,7","8,0","19,8","1008,7","1008,7","1008,6","954,6","0,8","0,8","0,7","94,0","94,8","93,8","0,0","0,1","-0,1","0,4","0,4","0,3","0,0","","0,0","","0,8","0,7","0,8","0,8","0,8","0,8","0,7","0,0","0,0","0,182","0,000"
"1/1/21 12:15","21,6","21,6","20,9","42,2","43,5","42,0","8,2","20,5","1008,6","1008,7","1008,6","954,5","1,1","1,1","0,8","94,1","94,5","93,7","0,2","0,2","-0,1","0,7","0,7","0,4","0,0","","0,0","","1,1","0,8","1,1","1,1","1,1","1,1","0,8","0,0","0,0","0,180","0,000"
"1/1/21 12:30","21,8","21,9","21,5","40,1","42,3","39,9","7,7","20,7","1008,6","1008,7","1008,6","954,6","1,2","1,3","1,1","93,4","94,1","93,0","0,3","0,3","0,2","0,8","0,8","0,7","0,0","","0,0","","1,2","1,1","1,2","1,3","1,2","1,3","1,1","0,2","0,2","0,178","0,000"
"1/1/21 12:45","22,1","22,2","21,8","40,9","41,4","39,8","8,2","21,0","1008,6","1008,7","1008,6","954,6","1,1","1,3","1,1","92,9","93,3","92,3","0,1","0,3","-0,1","0,6","0,8","0,6","0,0","","0,0","","1,1","1,1","1,1","1,3","1,1","1,3","1,1","0,0","0,2","0,180","0,000"
"1/1/21 13:00","22,3","22,4","22,1","39,8","41,5","39,6","8,0","21,3","1008,7","1008,8","1008,6","954,6","1,3","1,3","1,1","93,7","94,2","92,7","0,4","0,4","0,1","0,9","0,9","0,6","0,0","","0,0","","1,3","1,1","1,3","1,3","1,3","1,3","1,1","0,0","0,0","0,178","0,000"
"1/1/21 13:15","22,5","22,6","22,3","38,8","39,9","38,7","7,8","21,4","1008,8","1008,8","1008,7","954,7","1,2","1,3","1,1","93,0","93,5","92,5","0,1","0,4","0,1","0,7","0,9","0,7","0,0","","0,0","","1,2","1,1","1,2","1,3","1,2","1,3","1,1","0,0","0,0","0,179","0,000"
"1/1/21 13:30","22,4","22,5","22,3","38,7","39,5","38,7","7,7","21,3","1008,7","1008,7","1008,6","954,6","1,1","1,2","1,1","92,9","94,0","92,9","0,1","0,3","0,1","0,7","0,8","0,6","0,0","","0,0","","1,1","1,1","1,1","1,2","1,1","1,2","1,1","0,0","0,0","0,179","0,000"
"1/1/21 13:45","22,4","22,5","22,3","38,4","39,0","38,3","7,6","21,3","1008,7","1008,7","1008,6","954,6","1,1","1,1","1,1","93,1","94,0","92,8","0,1","0,3","0,0","0,6","0,7","0,6","0,0","","0,0","","1,1","1,1","1,1","1,1","1,1","1,1","1,1","0,0","0,0","0,180","0,000"
"1/1/21 14:00","22,2","22,4","22,2","38,0","38,7","37,8","7,2","21,0","1008,7","1008,8","1008,6","954,6","1,2","1,2","1,1","92,9","93,6","92,7","0,2","0,3","0,1","0,7","0,8","0,6","0,0","","0,0","","1,2","1,1","1,2","1,2","1,2","1,2","1,1","0,0","0,0","0,179","0,000"
"1/1/21 14:15","21,9","22,2","21,9","38,2","38,3","37,8","7,0","20,7","1008,7","1008,7","1008,6","954,6","1,1","1,2","1,1","93,4","93,7","92,8","0,1","0,3","0,1","0,6","0,8","0,6","0,0","","0,0","","1,1","1,1","1,1","1,2","1,1","1,2","1,1","0,0","0,0","0,180","0,000"
"1/1/21 14:30","21,8","21,9","21,7","38,9","39,3","38,1","7,2","20,6","1008,6","1008,7","1008,6","954,6","1,1","1,1","1,0","93,7","94,0","93,3","0,2","0,2","0,1","0,7","0,7","0,6","0,0","","0,0","","1,1","1,0","1,1","1,1","1,1","1,1","1,0","0,0","0,0","0,180","0,000"
"1/1/21 14:45","21,9","21,9","21,7","38,2","39,8","38,0","7,0","20,7","1008,8","1008,8","1008,7","954,7","1,1","1,1","1,1","94,0","94,7","93,4","0,2","0,3","0,1","0,7","0,8","0,6","0,0","","0,0","","1,1","1,1","1,1","1,1","1,1","1,1","1,1","0,0","0,0","0,180","0,000"
"1/1/21 15:00","21,6","21,9","21,6","38,1","38,4","37,8","6,7","20,3","1008,8","1008,9","1008,8","954,7","0,9","1,1","0,9","94,2","94,2","93,1","0,1","0,3","0,0","0,6","0,7","0,6","0,0","","0,0","","0,9","0,9","0,9","1,1","0,9","1,1","0,9","0,0","0,0","0,181","0,000"
"1/1/21 15:15","21,7","21,8","21,6","38,2","39,1","38,0","6,8","20,4","1008,9","1009,0","1008,8","954,8","0,9","1,0","0,9","94,9","95,0","94,4","0,2","0,2","0,1","0,6","0,6","0,6","0,0","","0,0","","0,9","0,9","0,9","1,0","0,9","1,0","0,9","0,0","0,0","0,181","0,000"
"1/1/21 15:30","21,6","21,8","21,5","38,5","38,8","38,1","6,9","20,4","1009,1","1009,1","1008,9","955,0","0,8","0,9","0,8","94,7","94,7","93,8","0,1","0,2","-0,1","0,5","0,6","0,4","0,0","","0,0","","0,8","0,8","0,8","0,9","0,8","0,9","0,8","0,0","0,0","0,182","0,000"
"1/1/21 15:45","21,4","21,6","21,3","38,6","38,9","38,4","6,8","20,2","1009,2","1009,2","1009,1","955,1","0,7","0,9","0,6","95,0","95,0","93,8","-0,1","0,2","-0,1","0,3","0,6","0,3","0,0","","0,0","","0,7","0,6","0,7","0,9","0,7","0,9","0,6","0,0","0,0","0,184","0,000"
"1/1/21 16:00","21,4","21,5","21,3","38,8","39,0","38,4","6,8","20,2","1009,3","1009,3","1009,2","955,2","0,5","0,7","0,5","95,6","95,8","95,0","-0,1","0,0","-0,1","0,2","0,3","0,2","0,0","","0,0","","0,5","0,5","0,5","0,7","0,5","0,7","0,5","0,0","0,0","0,186","0,000"
"1/1/21 16:15","21,6","21,7","21,4","38,5","38,9","38,3","6,8","20,3","1009,4","1009,5","1009,3","955,3","0,5","0,6","0,4","96,1","96,1","95,6","-0,1","0,0","-0,2","0,3","0,3","0,2","0,0","","0,0","","0,5","0,4","0,5","0,6","0,5","0,6","0,4","0,0","0,0","0,186","0,000"
"1/1/21 16:30","21,4","21,5","21,3","38,6","39,5","38,2","6,7","20,2","1009,5","1009,5","1009,3","955,4","0,3","0,5","0,3","95,5","95,9","95,3","-0,3","-0,1","-0,3","0,1","0,3","0,1","0,0","","0,0","","0,3","0,3","0,3","0,5","0,3","0,5","0,3","0,0","0,0","0,188","0,000"
"1/1/21 16:45","21,6","21,6","21,4","38,2","38,9","38,2","6,7","20,3","1009,6","1009,7","1009,4","955,4","0,2","0,3","0,2","96,1","96,1","95,4","-0,3","-0,3","-0,4","0,0","0,1","-0,1","0,0","","0,0","","0,2","0,2","0,2","0,3","0,2","0,3","0,2","0,0","0,0","0,189","0,000"
"1/1/21 17:00","21,4","21,7","21,4","38,5","38,5","37,6","6,7","20,2","1009,7","1009,7","1009,5","955,5","0,1","0,3","0,1","96,8","96,8","96,3","-0,4","-0,2","-0,4","-0,1","0,1","-0,1","0,0","","0,0","","0,1","0,1","0,1","0,3","0,1","0,3","0,1","0,2","0,2","0,190","0,000"
"1/1/21 17:15","21,4","21,5","21,3","38,8","39,0","37,8","6,8","20,2","1009,8","1009,8","1009,7","955,6","-0,1","0,1","-0,1","96,4","96,8","96,0","-0,6","-0,4","-0,6","-0,3","-0,1","-0,3","0,0","","0,0","","-0,1","-0,1","-0,1","0,1","-0,1","0,1","-0,1","0,0","0,2","0,192","0,000"
"1/1/21 17:30","21,4","21,4","21,2","38,6","39,0","38,3","6,7","20,2","1009,8","1009,9","1009,8","955,7","-0,2","-0,1","-0,2","97,2","97,2","96,6","-0,6","-0,5","-0,6","-0,3","-0,2","-0,3","0,0","","0,0","","-0,2","-0,2","-0,2","-0,1","-0,2","-0,1","-0,2","0,0","0,0","0,193","0,000"
"1/1/21 17:45","21,3","21,4","21,1","39,2","39,2","38,4","6,9","20,2","1009,9","1009,9","1009,8","955,7","-0,3","-0,2","-0,3","97,0","97,3","97,0","-0,7","-0,6","-0,7","-0,4","-0,3","-0,4","0,0","","0,0","","-0,3","-0,3","-0,3","-0,2","-0,3","-0,2","-0,3","0,0","0,0","0,194","0,000"
"1/1/21 18:00","21,2","21,3","21,2","38,3","39,0","38,3","6,4","19,9","1010,0","1010,0","1009,8","955,8","-0,5","-0,3","-0,5","97,1","97,1","96,9","-0,9","-0,7","-0,9","-0,7","-0,4","-0,7","0,0","","0,0","","-0,5","-0,5","-0,5","-0,3","-0,5","-0,3","-0,5","0,0","0,0","0,196","0,000"
"1/1/21 18:15","21,2","21,5","21,1","38,7","39,1","38,1","6,6","19,9","1010,0","1010,0","1009,9","955,8","-0,4","-0,4","-0,5","97,8","97,9","97,1","-0,7","-0,7","-0,9","-0,5","-0,5","-0,7","0,0","","0,0","","-0,4","-0,5","-0,4","-0,4","-0,4","-0,4","-0,5","0,0","0,0","0,195","0,000"
"1/1/21 18:30","21,3","21,3","21,1","38,3","39,3","38,0","6,5","20,0","1010,1","1010,1","1009,9","955,9","-0,5","-0,4","-0,6","97,7","97,8","97,6","-0,8","-0,7","-0,9","-0,7","-0,5","-0,7","0,0","","0,0","","-0,5","-0,6","-0,5","-0,4","-0,5","-0,4","-0,6","0,0","0,0","0,196","0,000"
"1/1/21 18:45","21,3","21,3","21,2","40,7","40,8","38,1","7,4","20,2","1010,2","1010,2","1010,0","956,0","-1,2","-0,5","-1,2","96,8","97,7","95,8","-1,7","-0,8","-1,7","-1,4","-0,7","-1,4","0,0","","0,0","","-1,2","-1,2","-1,2","-0,5","-1,2","-0,5","-1,2","0,0","0,0","0,204","0,000"
"1/1/21 19:00","21,6","21,6","21,3","39,6","41,9","39,6","7,3","20,4","1010,4","1010,4","1010,1","956,2","-1,2","-1,2","-1,2","97,8","97,8","96,9","-1,5","-1,4","-1,7","-1,3","-1,3","-1,4","0,0","","0,0","","-1,2","-1,2","-1,2","-1,2","-1,2","-1,2","-1,2","0,0","0,0","0,204","0,000"
"1/1/21 19:15","21,7","21,8","21,5","40,2","41,4","39,5","7,6","20,6","1010,4","1010,5","1010,3","956,2","-2,1","-1,2","-2,1","96,0","97,7","95,6","-2,6","-1,6","-2,6","-2,3","-1,3","-2,3","0,0","","0,0","","-2,1","-2,1","-2,1","-1,2","-2,1","-1,2","-2,1","0,0","0,0","0,212","0,000"
"1/1/21 19:30","21,9","21,9","21,6","39,3","40,5","39,1","7,4","20,7","1010,5","1010,5","1010,4","956,3","-2,6","-2,1","-2,6","97,2","97,2","96,0","-3,0","-2,6","-3,0","-2,8","-2,3","-2,8","0,0","","0,0","","-2,6","-2,6","-2,6","-2,1","-2,6","-2,1","-2,6","0,0","0,0","0,218","0,000"
"1/1/21 19:45","21,6","21,8","21,6","38,5","39,5","38,2","6,9","20,4","1010,5","1010,6","1010,5","956,3","-3,2","-2,6","-3,2","95,9","97,2","95,9","-3,7","-3,0","-3,7","-3,4","-2,8","-3,4","0,0","","0,0","","-3,2","-3,2","-3,2","-2,6","-3,2","-2,6","-3,2","0,0","0,0","0,224","0,000"
"1/1/21 20:00","21,7","21,8","21,6","39,3","39,8","38,4","7,3","20,6","1010,7","1010,7","1010,5","956,5","-3,7","-3,2","-3,7","96,6","96,6","95,8","-4,1","-3,7","-4,2","-3,8","-3,4","-3,8","0,0","","0,0","","-3,7","-3,7","-3,7","-3,2","-3,7","-3,2","-3,7","0,0","0,0","0,229","0,000"
"1/1/21 20:15","21,9","22,0","21,7","39,2","39,4","39,0","7,4","20,8","1010,8","1010,8","1010,7","956,7","-3,8","-3,7","-3,8","97,8","97,8","96,3","-4,1","-4,0","-4,3","-3,9","-3,8","-4,0","0,0","","0,0","","-3,8","-3,8","-3,8","-3,7","-3,8","-3,7","-3,8","0,0","0,0","0,230","0,000"
"1/1/21 20:30","22,2","22,2","21,9","39,3","40,2","38,9","7,7","21,0","1011,0","1011,0","1010,7","956,8","-4,0","-3,8","-4,0","97,7","97,8","97,7","-4,3","-4,1","-4,3","-4,1","-3,9","-4,1","0,0","","0,0","","-4,0","-4,0","-4,0","-3,8","-4,0","-3,8","-4,0","0,0","0,0","0,233","0,000"
"1/1/21 20:45","22,1","22,2","22,0","38,2","39,1","38,1","7,2","20,9","1011,1","1011,1","1010,9","956,9","-4,3","-4,1","-4,3","97,1","97,6","97,1","-4,7","-4,4","-4,7","-4,5","-4,1","-4,5","0,0","","0,3","SSE","-4,3","-4,3","-4,3","-4,1","-4,3","-4,1","-4,3","0,0","0,0","0,236","0,000"
"1/1/21 21:00","22,0","22,2","21,9","38,3","38,5","38,0","7,2","20,8","1011,2","1011,2","1011,1","957,0","-4,8","-4,3","-4,8","96,3","97,0","95,7","-5,3","-4,7","-5,3","-4,9","-4,5","-4,9","0,0","","0,0","","-4,8","-4,8","-4,8","-4,3","-4,8","-4,3","-4,8","0,0","0,0","0,241","0,000"
"1/1/21 21:15","22,1","22,1","21,8","38,1","38,3","38,0","7,1","20,8","1011,3","1011,4","1011,2","957,1","-4,9","-4,8","-4,9","96,6","97,5","96,1","-5,3","-5,1","-5,4","-5,1","-4,9","-5,1","0,0","","0,0","","-4,9","-4,9","-4,9","-4,8","-4,9","-4,8","-4,9","0,0","0,0","0,242","0,000"
"1/1/21 21:30","21,8","22,1","21,8","38,4","38,4","38,0","7,1","20,6","1011,5","1011,5","1011,4","957,3","-5,3","-4,9","-5,3","96,2","96,4","96,1","-5,8","-5,4","-5,8","-5,5","-5,1","-5,5","0,0","","0,0","","-5,3","-5,3","-5,3","-4,9","-5,3","-4,9","-5,3","0,0","0,0","0,247","0,000"
"1/1/21 21:45","21,7","21,9","21,7","38,0","38,4","38,0","6,8","20,4","1011,5","1011,6","1011,4","957,3","-5,4","-5,3","-5,4","97,4","97,4","96,2","-5,8","-5,8","-5,9","-5,6","-5,5","-5,6","0,0","NNE","0,9","NNE","-5,4","-5,4","-5,4","-5,3","-5,4","-5,3","-5,4","0,0","0,0","0,248","0,000"
"1/1/21 22:00","21,5","21,8","21,5","37,6","38,0","37,5","6,4","20,2","1011,7","1011,7","1011,5","957,4","-5,8","-5,4","-5,8","96,3","97,3","96,3","-6,3","-5,8","-6,3","-5,9","-5,6","-5,9","0,0","","0,0","N","-5,8","-5,8","-5,8","-5,4","-5,8","-5,4","-5,8","0,0","0,0","0,251","0,000"
"1/1/21 22:15","21,4","21,6","21,4","38,2","38,2","37,6","6,6","20,1","1011,6","1011,7","1011,5","957,4","-5,7","-5,7","-5,8","96,9","96,9","96,2","-6,1","-6,1","-6,3","-5,8","-5,8","-6,0","0,0","","0,0","","-5,7","-5,8","-5,7","-5,7","-5,7","-5,7","-5,8","0,0","0,0","0,250","0,000"
"1/1/21 22:30","21,7","21,7","21,3","37,5","38,8","37,5","6,6","20,3","1011,5","1011,6","1011,5","957,3","-5,6","-5,5","-5,7","97,1","97,5","96,9","-5,9","-5,8","-6,1","-5,7","-5,6","-5,8","0,0","","0,4","NNE","-5,6","-5,7","-5,6","-5,5","-5,6","-5,5","-5,7","0,0","0,0","0,249","0,000"
"1/1/21 22:45","21,5","21,7","21,4","37,8","38,4","37,2","6,5","20,2","1011,5","1011,5","1011,4","957,3","-5,9","-5,6","-6,1","96,8","97,0","95,2","-6,4","-6,0","-6,6","-6,1","-5,7","-6,2","0,0","NNE","0,6","NNE","-5,9","-6,1","-5,9","-5,6","-5,9","-5,6","-6,1","0,0","0,0","0,253","0,000"
"1/1/21 23:00","21,6","21,7","21,4","37,1","38,3","36,6","6,3","20,2","1011,6","1011,6","1011,5","957,4","-6,2","-6,0","-6,2","97,0","97,0","96,7","-6,6","-6,4","-6,6","-6,3","-6,1","-6,3","0,0","","0,3","NNE","-6,2","-6,2","-6,2","-6,0","-6,2","-6,0","-6,2","0,0","0,0","0,255","0,000"
"1/1/21 23:15","21,4","21,7","21,4","37,0","38,2","36,5","6,2","20,1","1011,8","1011,8","1011,6","957,5","-6,5","-6,2","-6,5","96,3","97,0","96,1","-7,0","-6,6","-7,0","-6,7","-6,3","-6,7","0,0","","0,0","","-6,5","-6,5","-6,5","-6,2","-6,5","-6,2","-6,5","0,0","0,0","0,259","0,000"
"1/1/21 23:30","21,3","21,6","21,3","36,8","37,1","36,3","6,0","19,9","1012,0","1012,0","1011,7","957,7","-6,6","-6,4","-6,6","96,2","97,3","96,2","-7,0","-6,7","-7,1","-6,7","-6,5","-6,7","0,0","","0,0","","-6,6","-6,6","-6,6","-6,4","-6,6","-6,4","-6,6","0,0","0,0","0,259","0,000"
"1/1/21 23:45","21,1","21,3","21,1","37,1","37,5","36,6","5,9","19,7","1012,0","1012,1","1012,0","957,7","-6,5","-6,5","-6,8","97,0","97,0","95,2","-6,9","-6,9","-7,4","-6,6","-6,6","-6,9","0,0","","0,0","","-6,5","-6,8","-6,5","-6,5","-6,5","-6,5","-6,8","0,0","0,0","0,259","0,000"

Op woensdag 2 maart 2022 om 00:48:07 UTC+1 schreef gjr80:

gjr80

unread,
Mar 2, 2022, 4:15:45 AM3/2/22
to weewx-user
OK, this should be easy enough to import with wee_import, worst case you may need to do a global search and replace to change the field delimiter (I suspect the python csv reader will choke on a comma as decimal separator and field separator even with the quotes). Let me work through this.

Gary

Artvd

unread,
Mar 3, 2022, 3:20:08 AM3/3/22
to weewx-user
I think i am going to replace the directions  by degrees so that it will work, i suspect.


Op woensdag 2 maart 2022 om 10:15:45 UTC+1 schreef gjr80:

gjr80

unread,
Mar 3, 2022, 8:43:49 AM3/3/22
to weewx-user
I have had a chance to use wee_import with the most recent data you posted. There are three issues that caused wee_import problems; namely the degree symbol in the header row (already discussed earlier), the comma being used as the decimal separator and the absence of wind direction data in some records.

The degree symbol in the header row is easily fixed by removing all occurrences.

The comma decimal separator is a little more problematic. Whilst the wee_import WD import module can handle a comma as the decimal separator this capability was never added to the CSV module and consequently CSV data being imported with the current wee_import version must use a period as a decimal point (I will add the capability to CSV imports in the next WeeWX release). To import your data I changed the decimal separator in your data by using a few global searches and replaces. This approach was necessary so we could distinguish between the comma separating fields in each data row and commas used as the decimal separator within each field. First I did a global search for "," and replaced it with ZZZ, a string I knew was not used in your data file. I then replaced all commas with a period. I then replaced all ZZZ with ",". The data file was now as it was originally but with a period being used as the decimal separator.

wee_import was able to convert cardinal and inter-cardinal directions (ie N, S, SW, EWE) to degrees but had a problem when there was no data. Normally this is not a problem, but because in this case each data field is enclosed in quotes the absence of a value resulted in a string of zero length whereas wee_import expects 'no data fields' to be completely empty (ie no quotation marks). I will also fix this in the next WeeWX release. The work around is to set ignore_invalid_data = True in the import config file.

After this the data imported without problem.

Attached is the import config file I used, note that if you use this import config file you will need to change the file setting to suite your arrangement.

Gary
csv.conf

Artvd

unread,
Mar 3, 2022, 5:59:11 PM3/3/22
to weewx-user
@Gary Thaks for your reaction

I did something similar but ended up with a comma as separator before seeing your lastest reply from which it apears that a comma will not work.

Then i followed your method. I ended up with an error unfortunately as follows:

sudo wee_import --import-config=/var/tmp/csv.conf --dry-run
Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
A CSV import from source file '/var/tmp/data.csv' has been requested.
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x01' (US).
Missing derived observations will be calculated.
This is a dry run, imported data will not be saved to archive.
Starting dry run import ...
**** Unable to map source data.
**** Field 'Date & Time' not found in source data.
**** Nothing done, exiting.


I noticed that after the "Date & Time" column, there was a period and quotes.
Hence:  "Date & Time."
But not the separator ",".  
I therefore amended this resulting in the following.

"Date & Time"",""Inside Temp -C"",""High Inside Temp -C"",""Low Inside Temp -C"",""Inside Hum - %"",""High Inside Hum - %"",""Low Inside Hum - %"",""Inside Dew Point -C"",""Inside Heat Index -C"",""Barometer - hPa"",""High Bar - hPa"",""Low Bar - hPa"",""Absolute Pressure - hPa"",""Temp -C"",""High Temp -C"",""Low Temp -C"",""Hum - %"",""High Hum - %"",""Low Hum - %"",""Dew Point -C"",""High Dew Point -C"",""Low Dew Point -C"",""Wet Bulb -C"",""High Wet Bulb -C"",""Low Wet Bulb -C"",""Avg Wind Speed - m/s"",""Prevailing Wind Direction"",""High Wind Speed - m/s"",""High Wind Direction"",""Wind Chill -C"",""Low Wind Chill -C"",""Heat Index -C"",""High Heat Index -C"",""THW Index -C"",""High THW Index -C"",""Low THW Index -C"",""Rain - mm"",""High Rain Rate - mm/h"",""Heating Degree Days"",""Cooling Degree Days"""

"1/12/21 00:00"",""22.6"",""22.7"",""22.4"",""39.5"",""40.2"",""39.0"",""8.2"",""21.7"",""1009.6"",""1009.6"",""1009.6"",""955.5"",""4.8"",""4.8"",""4.7"",""95.8"",""95.9"",""95.8"",""4.2"",""4.2"",""4.1"",""4.4"",""4.4"",""4.4"",""0.5"",""W"",""2.2"",""W"",""4.8"",""4.7"",""4.8"",""4.8"",""4.8"",""4.8"",""4.7"",""0.0"",""0.0"",""0.141"",""0.000"""

Unfortunaly problem remains:  Field 'Date & Time' not found in source data.
Same outcome after adding:  "" in fromt of the line

Op donderdag 3 maart 2022 om 14:43:49 UTC+1 schreef gjr80:

gjr80

unread,
Mar 3, 2022, 7:33:47 PM3/3/22
to weewx-user
Look at the data you just posted and the data you provided me that I successfully imported. Your latest data has two double quotation marks whereas the data you provided me does not. I looks like you have incorrectly modified your data. I suggest you go back to the original data and make any global changes one step at a time, checking carefully after each change. If you make a mistake undo the change; if your editor does not let you do that find another editor.

Gary

Artvd

unread,
Mar 4, 2022, 2:46:31 AM3/4/22
to weewx-user
Sorry I did not see that. I now used another editor.  But get TypeError: "delimiter" must be a 1-character string

"Date & Time"."Inside Temp - C"."High Inside Temp - C"."Low Inside Temp - C"."Inside Hum - %"."High Inside Hum - %"."Low Inside Hum - %"."Inside Dew Point - C"."Inside Heat Index - C"."Barometer - hPa"."High Bar - hPa"."Low Bar - hPa"."Absolute Pressure - hPa"."Temp - C"."High Temp - C"."Low Temp - C"."Hum - %"."High Hum - %"."Low Hum - %"."Dew Point - C"."High Dew Point - C"."Low Dew Point - C"."Wet Bulb - C"."High Wet Bulb - C"."Low Wet Bulb - C"."Avg Wind Speed - m/s"."Prevailing Wind Direction"."High Wind Speed - m/s"."High Wind Direction"."Wind Chill - C"."Low Wind Chill - C"."Heat Index - C"."High Heat Index - C"."THW Index - C"."High THW Index - C"."Low THW Index - C"."Rain - mm"."High Rain Rate - mm/h"."Heating Degree Days"."Cooling Degree Days"
"1/12/21 00:00"."22.6"."22.7"."22.4"."39.5"."40.2"."39.0"."8.2"."21.7"."1009.6"."1009.6"."1009.6"."955.5"."4.8"."4.8"."4.7"."95.8"."95.9"."95.8"."4.2"."4.2"."4.1"."4.4"."4.4"."4.4"."0.5"."W"."2.2"."W"."4.8"."4.7"."4.8"."4.8"."4.8"."4.8"."4.7"."0.0"."0.0"."0.141"."0.000"

 sudo wee_import --import-config=/var/tmp/csv.conf --dry-run
Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
A CSV import from source file '/var/tmp/data.csv' has been requested.
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x01' (US).
Missing derived observations will be calculated.
All WeeWX UV fields will be set to None.
All WeeWX radiation fields will be set to None.

This is a dry run, imported data will not be saved to archive.
Starting dry run import ...
Traceback (most recent call last):
  File "/usr/share/weewx/wee_import", line 899, in <module>
    main()
  File "/usr/share/weewx/wee_import", line 829, in main
    source_obj.run()
  File "/usr/share/weewx/weeimport/weeimport.py", line 372, in run
    _raw_data = self.getRawData(period)
  File "/usr/share/weewx/weeimport/csvimport.py", line 243, in getRawData
    _csv_reader = csv.DictReader(_clean_data, delimiter=self.delimiter)
  File "/usr/lib/python3.9/csv.py", line 86, in __init__
    self.reader = reader(f, dialect, *args, **kwds)

TypeError: "delimiter" must be a 1-character string

Op vrijdag 4 maart 2022 om 01:33:47 UTC+1 schreef gjr80:

gjr80

unread,
Mar 4, 2022, 2:55:00 AM3/4/22
to weewx-user
The delimiter setting in in your import config file needs to be enclosed in single or double quotes, eg:

    delimiter = ","

Gary

gjr80

unread,
Mar 4, 2022, 2:57:46 AM3/4/22
to weewx-user
You also have a problem in that the delimiter in your data has now been changed to a period rather than a comma. You can try using a period as the delimiter in your import config file, I do not know how well that will work though.

Gary

John

unread,
Mar 4, 2022, 3:06:57 AM3/4/22
to weewx...@googlegroups.com


On 4/03/22 20:57, gjr80 wrote:
> You also have a problem in that the delimiter in your data has now
> been changed to a period rather than a comma. You can try using a
> period as the delimiter in your import config file, I do not know how
> well that will work though.
>
> Gary
>
> On Friday, 4 March 2022 at 17:55:00 UTC+10 gjr80 wrote:
>
> The delimiter setting in in your import config file needs to be
> enclosed in single or double quotes, eg:
>
>    delimiter = ","
>

Gary, I've seen this delimiter 'comma' vs 'period' problem before. It
was not related to Weewx but to
a totally different DB. In our case the answer turned out to be the use
of a totally different delimiter.

Can't recall the DB involved but making the delimiter '|' (pipe) fixed it.

\Worth a try?

cheers
john

Artvd

unread,
Mar 4, 2022, 3:13:48 AM3/4/22
to weewx-user
Tried with delimiter ; and with period and with comma

sudo wee_import --import-config=/var/tmp/csv.conf --dry-run
Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
A CSV import from source file '/var/tmp/data.csv' has been requested.
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x01' (US).
Missing derived observations will be calculated.
All WeeWX UV fields will be set to None.
All WeeWX radiation fields will be set to None.
This is a dry run, imported data will not be saved to archive.
Starting dry run import ...
**** Unable to map source data.
**** Field 'Date & Time' not found in source data.
**** Nothing done, exiting.
Op vrijdag 4 maart 2022 om 09:06:57 UTC+1 schreef wata...@gmail.com:

Artvd

unread,
Mar 4, 2022, 3:21:53 AM3/4/22
to weewx-user
"Date & Time;Inside Temp - C;High Inside Temp - C;Low Inside Temp - C;Inside Hum - %;High Inside Hum - %;Low Inside Hum - %;Inside Dew Point - C;Inside Heat Index - C;Barometer - hPa;High Bar - hPa;Low Bar - hPa;Absolute Pressure - hPa;Temp - C;High Temp - C;Low Temp - C;Hum - %;High Hum - %;Low Hum - %;Dew Point - C;High Dew Point - C;Low Dew Point - C;Wet Bulb - C;High Wet Bulb - C;Low Wet Bulb - C;Avg Wind Speed - m/s;Prevailing Wind Direction;High Wind Speed - m/s;High Wind Direction;Wind Chill - C;Low Wind Chill - C;Heat Index - C;High Heat Index - C;THW Index - C;High THW Index - C;Low THW Index - C;Rain - mm;High Rain Rate - mm/h;Heating Degree Days;Cooling Degree Days"
"1/12/21 00:00;22,6;22,7;22,4;39,5;40,2;39,0;8,2;21,7;1009,6;1009,6;1009,6;955,5;4,8;4,8;4,7;95,8;95,9;95,8;4,2;4,2;4,1;4,4;4,4;4,4;0,5;W;2,2;W;4,8;4,7;4,8;4,8;4,8;4,8;4,7;0,0;0,0;0,141;0,000"



Op vrijdag 4 maart 2022 om 09:13:48 UTC+1 schreef Artvd:

gjr80

unread,
Mar 4, 2022, 4:06:48 AM3/4/22
to weewx-user
You are doing too many things with too many changes and I cannot keep up with what your data is, what your import config file contains and what console output you provide.

Your last post includes double quote marks at the start and end of each line so the date-time field name is not Date & Time but rather "Date & Time (yes it includes the double quotation mark). Similarly you have a double quotation mark at the start and end of each data line, that will cause problems as well. You also have a comma as the decimal separator; as I said earlier that simply will not work.

If you are having problems fixing the formatting of your original source data file I am more than happy for you to email me the original source data file from weatherlink and I will format it for you. My email is gjroderick at gmail dot com. Alternatively I suggest you go back to my earlier post where I gave you the steps you need to take to import your data and carefully work through the steps one at a time.

Gary

gjr80

unread,
Mar 4, 2022, 4:18:10 AM3/4/22
to weewx-user
I don't believe the issue here is the delimiter itself, rather we need to get the delimiter used in the source data file to match the delimiter specified in the import config file whilst at the same time we need to get the source data field names specified in the import config file to match the field names that wee_import extracts from the source data file header row (which is of course impacted by the delimiter).

Provided the source data file is a text file I have not yet seen a delimiter that has caused a properly configured wee_import run to fail.

Gary

Artvd

unread,
Mar 4, 2022, 4:53:04 AM3/4/22
to weewx-user
I have sent the original data file and the config file by mail.

Op vrijdag 4 maart 2022 om 10:18:10 UTC+1 schreef gjr80:

Artvd

unread,
Mar 4, 2022, 9:01:19 AM3/4/22
to weewx-user
@Gary Thank you very much for your assistence. It finally worked OK and i could add the whole year 2021 into my Weewx weather station.Screenshot 2022-03-04 at 15-00-21 Year Lescheret.png
Op vrijdag 4 maart 2022 om 10:53:04 UTC+1 schreef Artvd:

gjr80

unread,
Mar 4, 2022, 6:05:26 PM3/4/22
to weewx-user
Good to see that we finally got it imported Art.

Gary
Reply all
Reply to author
Forward
0 new messages