Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Benjamin Jakimow
EO Time Series Viewer
Commits
fffbd554
Commit
fffbd554
authored
Apr 04, 2012
by
Luke Campagnola
Browse files
Added CSV exporter (only for PlotItem)
parent
6aef8533
Changes
1
Hide whitespace changes
Inline
Side-by-side
exporters/CSVExporter.py
0 → 100644
View file @
fffbd554
import
pyqtgraph
as
pg
from
pyqtgraph.Qt
import
QtGui
,
QtCore
from
Exporter
import
Exporter
from
pyqtgraph.parametertree
import
Parameter
__all__
=
[
'CSVExporter'
]
class
CSVExporter
(
Exporter
):
Name
=
"CSV from plot data"
windows
=
[]
def
__init__
(
self
,
item
):
Exporter
.
__init__
(
self
,
item
)
self
.
params
=
Parameter
(
name
=
'params'
,
type
=
'group'
,
children
=
[
{
'name'
:
'separator'
,
'type'
:
'list'
,
'value'
:
'comma'
,
'values'
:
[
'comma'
,
'tab'
]},
])
def
parameters
(
self
):
return
self
.
params
def
export
(
self
,
fileName
=
None
):
if
not
isinstance
(
self
.
item
,
pg
.
PlotItem
):
raise
Exception
(
"Matplotlib export currently only works with plot items"
)
if
fileName
is
None
:
self
.
fileSaveDialog
(
filter
=
[
"*.csv"
,
"*.tsv"
])
return
fd
=
open
(
fileName
,
'w'
)
data
=
[]
header
=
[]
for
c
in
self
.
item
.
curves
:
data
.
append
(
c
.
getData
())
header
.
extend
([
'x'
,
'y'
])
if
self
.
params
[
'separator'
]
==
'comma'
:
sep
=
','
else
:
sep
=
'
\t
'
fd
.
write
(
sep
.
join
(
header
)
+
'
\n
'
)
i
=
0
while
True
:
done
=
True
for
d
in
data
:
if
i
<
len
(
d
[
0
]):
fd
.
write
(
'%g%s%g%s'
%
(
d
[
0
][
i
],
sep
,
d
[
1
][
i
],
sep
))
done
=
False
else
:
fd
.
write
(
' %s %s'
%
(
sep
,
sep
))
fd
.
write
(
'
\n
'
)
if
done
:
break
i
+=
1
fd
.
close
()
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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