I need to process a file like this
keyword,synonym,bidirectional
5487500j,54875,false
76x76,76 x 76,true
feuille,"papier,ramette",false
7843000j,78430,false
and I need to transform it to a dict :
{'5487500j':'54875', '76x76':'76 x 76','feuille':['papier','ramette'], '7843000j':'78430'}
I don't succeed in any fast and elegant way to deal
Let me first specify what I have understood from your requirement.
You should always write down in plain english (or whatever you first language is) a detailed specification of what you want to do before trying to code anything. Because the coding part should only be the translation of the spec.
Here the Python code (for my spec...) could be:
with open(inputfile) as fd:
rd = csv.reader(fd) # you files uses the default for quoting and delimiter
_ = next(rd) # skip header line
result = {}
for row in rd:
result[row[0]] = row[1].split(',') if ',' in row[1] else row[1]
In fact a comprehension would be more Pythonic than the loop:
result = {row[0]: row[1].split(',') if ',' in row[1] else row[1]
for row in rd}