1

i'm trying to convert list of dictionaries to comma separated string , but some extra fields of dictionary are coming

data = [{'groupid': '28', 'name': 'TEST 2', 'internal': '0', 'flags': '0'}, {'groupid':'27', 'name': 'CUSTOMER/TEST 1', 'internal': '0', 'flags': '0'}]

expected output = TEST2,CUSTOMER/TEST 1

my script: s = [','.join(map(str,i.values())) for i in data]

output i'm getting : ['28,TEST 2,0,0', '27,CUSTOMER/TEST 1,0,0']

Brian61354270
  • 8,690
  • 4
  • 21
  • 43
Ashok Developer
  • 331
  • 1
  • 2
  • 16

3 Answers3

4

Try this:

data = [{'groupid': '28', 'name': 'TEST 2', 'internal': '0', 'flags': '0'}, {'groupid':'27', 'name': 'CUSTOMER/TEST 1', 'internal': '0', 'flags': '0'}]
print([d["name"] for d in data])

Output:

['TEST 2', 'CUSTOMER/TEST 1']
baduker
  • 19,152
  • 9
  • 33
  • 56
2

For the expected out, you simply need to get the value corresponding to the key name:

s = ','.join(i['name'] for i in data)
Krishna Chaurasia
  • 8,924
  • 6
  • 22
  • 35
0

Data is defined as dictionary object. Apply elt for filter.


data = [{'groupid': '28', 'name': 'TEST 2', 'internal': '0', 'flags': '0'}, 
      {'groupid':'27', 'name': 'CUSTOMER/TEST 1', 'internal': '0', 'flags': '0'}]

expected output = [elt["name"] for elt in data]
print(expected output)
output = ['TEST 2', 'CUSTOMER/TEST 1']
dtc348
  • 309
  • 6
  • 19