Use CSV file as an input for a Python Activity doesnt work

As a datascientist I use pandas as a library to clean my data that comes from a CSV file. But I can’t give my csv file as an input for my python activity. I tried Loading a script than invoking the method, I tried running directly the script. None of this worked, I keep on getting the same error : Pipe is broken which doesnt mean anything. I tried reducing the size of the file as found here. Didn’t work either. So please guys, have some of you already used UiPath Python activity to do some data cleaning ?

Hey @a.maquanino

Have you tried with “.xlsx” file format?

Yes I did, and I keep on having the same error

this means you have a different executable platform selected for UiPath and Python

The UiPath runs on x64 and in normal scenarios Python runs as x86. The python scope needs to be changed to 64

Hi @a.maquanino,

Pipe is broken is a vague error message in .net or c#, which in my understanding means that the IO stream gets overloaded and fails to communicate further.

Can I ask you why use UiPath for data cleaning ?

Why not do all your cleaning in a python script using Pandas and use Invoke PowerShell activity or Start process with command sring / arguments “python” as an example from UiPath?

Pipe is broken is an error in UiPath when the sheer size of the data is large and when UiPath has to send it within workflows or across application scopes.

Thanks for you answer @rahulsharma but I already change that and it didn’t solve the issue that I have

Hi @jeevith,

Because I’m trying to automate the whole process and I need to do the data cleaning before using this cleaned data to make prediction with my ML model. And the data needs to be similar to what i trained the model with.

I’ll try what you advised and see if that fits the clients needs. Thanks

Hi guys,

To clarify I want to process/clean/ filter my data before training it ( with a python script that uses pandas) . So as an input I need to have a .csv file and the same for the output. But the python invoke method only takes a pytthon object as the input.