# MalformedInputException error trying to import tags from AB csv file

**URL:** <https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [December 30, 2021, 4:54pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548 "2021-12-30T16:54:57Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![hhbauss](https://avatars.discourse-cdn.com/v4/letter/h/ecae2f/32.png) [@hhbauss](https://forum.inductiveautomation.com/u/hhbauss)\
**Post date:** [December 30, 2021, 4:54pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/1 "2021-12-30T16:54:57Z")

</div>

java.nio.charset.MalformedInputException: Input length = 1  
at java.base/java.lang.StringCoding.throwMalformed(Unknown Source)  
at java.base/java.lang.StringCoding.decodeUTF8\_0(Unknown Source)  
at java.base/java.lang.StringCoding.newStringNoRepl1(Unknown Source)  
at java.base/java.lang.StringCoding.newStringNoRepl(Unknown Source)  
at java.base/java.lang.System$2.newStringNoRepl(Unknown Source)  
at java.base/java.nio.file.Files.readString(Unknown Source)  
at java.base/java.nio.file.Files.readString(Unknown Source)  
at com.inductiveautomation.ignition.designer.tags.frame.actions.TagImportTask.readFile(ImportExportActions.kt:312)  
at com.inductiveautomation.ignition.designer.tags.frame.actions.TagImportTask.run(ImportExportActions.kt:231)  
at com.inductiveautomation.ignition.client.util.gui.progress.ClientProgressManager$ClientRunningTask.run(ClientProgressManager.java:511)  
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:539)  
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)  
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
at java.base/java.lang.Thread.run(Unknown Source)

Ignition v8.1.13 (b2021122109)  
Java: Azul Systems, Inc. 11.0.13

Exported the controller tags from a AB project and am trying to import them into a new Ignition project to use. Is there a certain format that I need to put the csv in to import successfully?

Thanks!

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [December 30, 2021, 5:03pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/2 "2021-12-30T17:03:52Z")

</div>

CSV import is essentially legacy functionality at this point, but you can still do it.  
[import.csv](https://forum.inductiveautomation.com/uploads/short-url/9eAAywHMFudaQ5Nb2HmHvKft5T5.csv) (914 Bytes)

---

<div class="post-metadata">

**Author:** ![hhbauss](https://avatars.discourse-cdn.com/v4/letter/h/ecae2f/32.png) [@hhbauss](https://forum.inductiveautomation.com/u/hhbauss)\
**Post date:** [December 30, 2021, 5:06pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/3 "2021-12-30T17:06:33Z")

</div>

Is there a better way to export the tags? The only options are csv and txt.

Sorry, very new at this. I have the program, but not a PLC to load the program into yet.

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [December 30, 2021, 6:09pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/4 "2021-12-30T18:09:39Z")

</div>

xml or json are the preferred export/import options in ignition. You would have to format your AB export into one of those formats. I have not actually done that myself, hopefully someone with better knowledge of that process can chime in.

---

<div class="post-metadata">

**Author:** ![bschroeder](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bschroeder/32/13260_2.png) [@bschroeder](https://forum.inductiveautomation.com/u/bschroeder)\
**Post date:** [December 30, 2021, 6:38pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/5 "2021-12-30T18:38:40Z")

</div>

Another option is to read the CSV file in and use system.tag.configure: [system.tag.configure - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/system.tag.configure) to generate the tags.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 30, 2021, 7:09pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/6 "2021-12-30T19:09:06Z")

</div>

Is this a Logix PLC? If so, you might want to use my Ethernet/IP module's controller emulation (tags/types only) to mimic the eventual real PLC. See this topic for an example:

> [@AB PLC tag import/export](https://forum.inductiveautomation.com/t/ab-plc-tag-import-export/33050/2):
>
> You might find [my Ethernet/IP module](https://inductiveautomation.com/moduleshowcase/module/automation-professionals-llc-ethernetip-class-1-communications) useful for this, without needing to buy it. Export the Logix 5000 project in L5X format. You can import that into an instance of my driver and it will render the data types and tags into my module’s virtual controller. OPC item syntax is identical to that in Ignition’s own Logix v21+ driver (with a handful of exceptions). For even more fidelity, do the above in another Ignition gateway, and let the first gateway connect to it with the normal v21 driver. W…

The module honors Ignition's two-hour trial mode, so you don't need to buy it for something like this.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 30, 2021, 7:12pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/7 "2021-12-30T19:12:02Z")

</div>

Also, you _ **really** _ don’t want to just import an entire controller’s tags. That generally crushes comms performance in the real world. When using my module, the complete controller is only in the OPC browse window, just like the (future) real connection.

---

<div class="post-metadata">

**Author:** ![hhbauss](https://avatars.discourse-cdn.com/v4/letter/h/ecae2f/32.png) [@hhbauss](https://forum.inductiveautomation.com/u/hhbauss)\
**Post date:** [December 30, 2021, 7:33pm UTC](https://forum.inductiveautomation.com/t/malformedinputexception-error-trying-to-import-tags-from-ab-csv-file/54548/8 "2021-12-30T19:33:18Z")

</div>

I used your module to import the tags that I needed. Worked well as far as I can tell. Thanks for the assistance.

The software is good, just finding out to utilize it will take time and experience.
