import re
import csv
wholeList = []
csvFile = open(r"C:/Users/14526/Desktop/1.csv", "w", newline='')
writer2 = csv.writer(csvFile)
headerSet = set()
with open(r"C:/Users/14526/Desktop/jobStr.txt") as file:
while 1:
line = file.readline()
if not line:
break
dic = {}
surroundByQuote = re.findall("\"([^:]*?)\"", line)
# "\"([^:]*?)\""
if surroundByQuote:
for item in surroundByQuote:
newStr = item.replace(",", "^")
line = line.replace(item, newStr)
kvs = line.split(',')
for item in kvs:
kv = item.split(':')
dic[kv[0]] = kv[1].replace('^', ',')
headerSet.add(kv[0])
# writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
wholeList.append(dic)
writer = csv.DictWriter(csvFile, fieldnames=headerSet)
writer.writeheader()
writer.writerows(wholeList)