# system.tag.readAll()

**URL:** <https://forum.inductiveautomation.com/t/system-tag-readall/5752>\
**Category:** Ignition\
**Created:** [January 28, 2013, 10:21pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752 "2013-01-28T22:21:07Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Robert](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@Robert](https://forum.inductiveautomation.com/u/Robert)\
**Post date:** [January 28, 2013, 10:21pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/1 "2013-01-28T22:21:07Z")

</div>

this returns`QualifiedValue[] - A sequence of qualified values corresponding to each tag path given. Each qualified value will have three sub-members: value, quality, and timestamp.`

When I run it (7.5.5) I only get value and quality.

My bigger problem is how do I breakup the sequence to display in separate columns?  
I’ve tried` tag[0], tag[1]` this throws object is not subscritable.  
I’ve tried`a,b = tag`this throws object is not iterable.  
If I print the response I get`[value,quality]` so it looks list a list, it just doesn’t want to act like one.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 28, 2013, 10:23pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/2 "2013-01-28T22:23:39Z")

</div>

It’s not a list, it’s an Object (a QualifiedValue, actually). Its toString() just happens to look like a Python list.

---

<div class="post-metadata">

**Author:** ![Robert](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@Robert](https://forum.inductiveautomation.com/u/Robert)\
**Post date:** [January 28, 2013, 10:26pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/3 "2013-01-28T22:26:03Z")

</div>

Wow. quickest answer yet.

Great. how do I get the data out of the object?

```auto
 tag.value or tag.value() or ??? 
```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 28, 2013, 10:26pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/4 "2013-01-28T22:26:30Z")

</div>

Err, your other question: do you want turn this into a dataset with value and quality columns?

---

<div class="post-metadata">

**Author:** ![Robert](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@Robert](https://forum.inductiveautomation.com/u/Robert)\
**Post date:** [January 28, 2013, 10:27pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/5 "2013-01-28T22:27:11Z")

</div>

and other information

---

<div class="post-metadata">

**Author:** ![Robert](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@Robert](https://forum.inductiveautomation.com/u/Robert)\
**Post date:** [January 28, 2013, 10:34pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/6 "2013-01-28T22:34:55Z")

</div>

It’s ok, I’ve got it.

I found an example of the correct syntax in system.tag.read()

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 28, 2013, 10:35pm UTC](https://forum.inductiveautomation.com/t/system-tag-readall/5752/7 "2013-01-28T22:35:12Z")

</div>

Well, as for how to access them:

```auto
qvs = system.tag.readAll(["Tag1", "Tag2", "Tag3"])
for qv in qvs:
	print 'value=%s, quality=%s' % (qv.value, qv.quality)
```

Getting them along with other values into a DataSet is just gonna require some good old fashioned programming and the use of system.dataset.toDataSet(). We’ll need more context if you need more help.

EDIT: YOU BEAT ME TO IT! 😆
