Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ACS
Public
VILLASframework
VILLASdataprocessing
Commits
9eb18412
Commit
9eb18412
authored
Aug 13, 2018
by
Markus Mirz
Browse files
addded new dpsim read function for real and imaginary vars
parent
044c9f3c
Changes
1
Hide whitespace changes
Inline
Side-by-side
dataprocessing/readtools.py
View file @
9eb18412
...
...
@@ -181,3 +181,57 @@ def read_timeseries_dpsim_cmpl_separate(filename, timeseries_names=None):
for
result
in
timeseries_list
:
print
(
result
.
name
)
return
timeseries_list
def
read_timeseries_dpsim
(
filename
,
timeseries_names
=
None
):
"""Reads complex time series data from DPsim log file. Real and
imaginary part are stored in one complex variable.
:param filename: name of the csv file that has the data
:param timeseries_names: column name which should be read
:return: list of Timeseries objects
"""
pd_df
=
pd
.
read_csv
(
filename
)
timeseries_list
=
[]
cmpl_result_columns
=
[]
real_result_columns
=
[]
if
timeseries_names
is
None
:
# No column names specified, thus read in all and strip off spaces
pd_df
.
rename
(
columns
=
lambda
x
:
x
.
strip
(),
inplace
=
True
)
column_names
=
list
(
pd_df
.
columns
.
values
)
# Remove timestamps column name and store separately
column_names
.
remove
(
'time'
)
timestamps
=
pd_df
.
iloc
[:,
0
]
# Find real and complex variable names
real_string
=
'_re'
imaginary_string
=
'_im'
for
column
in
column_names
:
if
real_string
in
column
:
tmp
=
column
.
replace
(
real_string
,
''
)
cmpl_result_columns
.
append
(
tmp
)
#print("Found complex variable: " + tmp)
elif
not
imaginary_string
in
column
:
real_result_columns
.
append
(
column
)
#print("Found real variable: " + column)
for
column
in
cmpl_result_columns
:
timeseries_list
.
append
(
TimeSeries
(
column
,
timestamps
,
np
.
vectorize
(
complex
)(
pd_df
[
column
+
real_string
],
pd_df
[
column
+
imaginary_string
])))
for
column
in
real_result_columns
:
timeseries_list
.
append
(
TimeSeries
(
column
,
timestamps
,
pd_df
[
column
]))
else
:
# Read in specified time series
print
(
'cannot read specified columns yet'
)
print
(
'DPsim results real column names: '
+
str
(
real_result_columns
))
print
(
'DPsim results complex column names: '
+
str
(
cmpl_result_columns
))
print
(
'DPsim results variable number: '
+
str
(
len
(
timeseries_list
)))
print
(
'DPsim results length: '
+
str
(
len
(
timestamps
)))
return
timeseries_list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment