# Writing to a dataset client tag

**URL:** <https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [November 22, 2022, 5:29pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817 "2022-11-22T17:29:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Salem\_Marshall](https://avatars.discourse-cdn.com/v4/letter/s/b38774/32.png) [@Salem\_Marshall](https://forum.inductiveautomation.com/u/Salem_Marshall)\
**Post date:** [November 22, 2022, 5:29pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817/1 "2022-11-22T17:29:30Z")

</div>

Hello!

I am trying to write a vision component value to a dataset tag, but am having trouble getting it to work. I referenced the link below for support but I still get an error message.

> [@Write a value to a dataset tag](https://forum.inductiveautomation.com/t/write-a-value-to-a-dataset-tag/15532):
>
> Hi to everybody I created a datataset tag, and I read the its value correctly using the follow syntax system.tag.read(“tagdata”).value.getValueAt(1, 0) But now I need write a value to into a specific row and column, what is the correct syntax? Thanks a lot Andrea

I'm wondering if it isn't working because I am using a client tag? I pasted the error message I am getting and the code snippet below

Error message which references the first line of my code: AttributeError: 'com.inductiveautomation.ignition.common.model.valu' object has no attribute 'Value'

My code:

ds = system.tag.read("[client]calculatedData/PlantData").Value

system.tag.write('[client]calculatedData/PlantData',system.dataset.setValue(ds,4,1,event.source.value))

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 22, 2022, 5:39pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817/2 "2022-11-22T17:39:48Z")

</div>

> [@Salem\_Marshall](#):
>
> Error message which references the first line of my code: AttributeError: 'com.inductiveautomation.ignition.common.model.valu' object has no attribute 'Value'

You're using uppercase V `.Value`. You need to use lowercase V `.value`. Python, like most programming languages, is case sensitive. Most things in Ignition, even in Python, follow the Java convention of `lowerCamelCase`, rather than e.g. `snake_case`, `kebab-case`, or `UpperCamelCase`.

---

<div class="post-metadata">

**Author:** ![Salem\_Marshall](https://avatars.discourse-cdn.com/v4/letter/s/b38774/32.png) [@Salem\_Marshall](https://forum.inductiveautomation.com/u/Salem_Marshall)\
**Post date:** [November 22, 2022, 5:41pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817/3 "2022-11-22T17:41:23Z")

</div>

Thank you, didn't spot that. I adjusted but got the following error instead:

TypeError: 'com.inductiveautomation.ignition.common.model.values.BasicQualifiedValue' object is unsubscriptable

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 22, 2022, 5:46pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817/4 "2022-11-22T17:46:38Z")

</div>

Post the exact script you're using, ideally inside a preformatted text block (use this icon in the formatting toolbar ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/c/1c5e779a32c1e8a9a4600399a35887af844b85c2.png))

---

<div class="post-metadata">

**Author:** ![Salem\_Marshall](https://avatars.discourse-cdn.com/v4/letter/s/b38774/32.png) [@Salem\_Marshall](https://forum.inductiveautomation.com/u/Salem_Marshall)\
**Post date:** [November 22, 2022, 5:53pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817/5 "2022-11-22T17:53:16Z")

</div>

I just realized the problem -

On my write line I was using '' instead of ""

The syntax of these read/write functions confuse me. I had copied the code from a snippet where I had used a list format that used '' within the brackets, if that makes sense? Anyway just two syntax issues in the end, thanks for your help. I posted the working code below in case anyone else is running into issues with this syntax.

```auto
ds = system.tag.read("[client]calculatedData/PlantData").value

system.tag.write("[client]calculatedData/PlantData",system.dataset.setValue(ds,4,1,event.source.value))

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 22, 2022, 6:07pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-dataset-client-tag/66817/6 "2022-11-22T18:07:41Z")

</div>

The TL;DR is that `system.tag.read` and `system.tag.write` were technically deprecated in favor of `system.tag.read(Blocking|Async)` and `system.tag.write(Blocking|Async)`; the new functions have more clear semantics _and_ accept a list of paths/values, which helps to reduce a common performance issue for new users. The tradeoff is they're a bit more confusing at first glance - they _accept_ a list of values, and therefore _return_ a list of values - so you might see e.g. `system.tag.readBlocking(["tagA"])[0].value`, which has an awful lot of square brackets that don't add a whole lot of _clarity_.

In spite of their "deprecation", note that we're absolutely not going to remove the existing `read` or `write` functions, for the sake of backwards compatibility. For writing a single tag, there's not really any reason to switch.
