Link to home
Start Free TrialLog in
Avatar of csehz
csehzFlag for Hungary

asked on

Python - adding variable inside a string

Dear Experts,

Actually having the following Python code to import .csv file and it works fine:

import csv

with open(r"C:\File.csv") as csvfile:
    rows = list(csv.reader(csvfile))
    data_header = rows[0]
    data_rows = rows[1:]
    

Open in new window


I would like to restructure a little bit with adding the path to a variable as FilePath and using that in the open command, around like this (it does not work of course in this format)

import csv

FilePath = "C:\File.csv"

with open(r % FilePath) as csvfile:
    rows = list(csv.reader(csvfile))
    data_header = rows[0]
    data_rows = rows[1:]
    

Open in new window


Could you please advice about the Python syntax including a variable like that?

Thanks in advance,
Avatar of Subodh Tiwari (Neeraj)
Subodh Tiwari (Neeraj)
Flag of India image

This should work...

with open(FilePath) as csvfile:

Open in new window

Avatar of csehz

ASKER

@Neeraj thanks for the advice, with that syntax getting the following error message:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Presumably that 'r' sign should be somehow added at the beginning as it is in the format of

with open(r"C:\File.csv") as csvfile:

Open in new window

SOLUTION
Avatar of Subodh Tiwari (Neeraj)
Subodh Tiwari (Neeraj)
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of csehz

ASKER

@pepr thanks a lot for the explanation, it works of course like that
Didn't I offer the same solution? :)
Avatar of csehz

ASKER

@Neeraj oops you are right just when came in the morning did not catch that you also answered :(

Sorry again as you again did not get the well deserved points (as we spoke I caused that you did not got all the 1000 in the other thread) :(
Never mind. :)