擅长:python、mysql、java
<p>只需多次使用<code>.split()</code>,然后创建一个新的dict</p>
<pre><code>import json
csv = '''1, "Smith, Mr. Adams"
2, "McAdams, Mrs. Audrey"
3, "McAdams, Doctor John"
4, "Missing Value"'''
csv_lines = csv.split('\n')
for line in csv_lines:
id = line.split(',')[0]
name = line[len(id)+3:-1]
split = name.split(', ')
last_name = split[0]
if len(split) < 2:
first_name = last_name
prefix = last_name
else:
prefix = split[1].split(' ')[0]
first_name = split[1][len(prefix)+1:]
row_dict = {'id': id, 'name': {'last_name': last_name, 'prefix': prefix, 'first_name': first_name}}
json_data = json.dumps(row_dict)
print(json_data)
</code></pre>
<p>输出:</p>
<pre><code>{"id": "1", "name": {"last_name": "Smith", "prefix": "Mr.", "first_name": "Adams"}}
{"id": "2", "name": {"last_name": "McAdams", "prefix": "Mrs.", "first_name": "Audrey"}}
{"id": "3", "name": {"last_name": "McAdams", "prefix": "Doctor", "first_name": "John"}}
{"id": "4", "name": {"last_name": "Missing Value", "prefix": "Missing Value", "first_name": "Missing Value"}}
</code></pre>