I am fairly new to python toolbox and I am trying to input a text file path into my script to further use with pandas (pd.read_csv()). However, everytime I extract my parameter, the file path returned uses '\' as separator. If I've learn one thing in Python, is that you never want to use backslashes. How do I get rid of those or how can I get my parameter to know that the string is a file path and read it appropriately.
param0 = arcpy.Parameter(
displayName="File path to enter",
params = [param0]
def execute(self, parameters, messages):
path = parameters.valueAsText
The pd.read_csv function does not accept this file path format.
Haven't worked with python toolbox's here, but you could try something like:
path = "r'" + parameters.valueAsText + "'"
and see if the output looks like either of these:
r'C:\Users\xxx\FileName.txt' or 'C:\\Users\\xxx\\FileName.txt'
Both of which would be valid python filepaths.
If I've learn one thing in Python, is that you never want to use backslashes.
I've been using python for a very long time and can confidently say that backslashes are fine to use. The only issue is that new users don't realise that when you have a string literal in your code you need to escape backslashes or use raw string syntax (neither of which are applicable when you're passing a string in as a parameter).
The backslashes used in the path in your parameter will be understood just fine by pandas. I have just tested and pd.read_csv worked as expected with backslashes.
There's something else going on. Please paste in the error message you are getting.