该
csv模块将很好地处理CSV读数-包括处理引号内的换行符。
import csvwith open('my_csv.csv') as csv_file: for row in csv.reader(csv_file): # do work该
csv.reader对象是一个迭代器-
您可以使用循环来遍历CSV中的行
for。每行都是一个列表,因此您可以将每个字段都以
row[0],
row[1]等形式获取。请注意,这将加载第一行(在您的情况下仅包含字段名称)。
正如我们在第一行中给予我们的字段名,我们可以使用
csv.DictReader使每一行的字段可以作为被访问
row['id'],
row['name']等等。这也将跳过第一行我们:
import csvwith open('my_csv.csv') as csv_file: for row in csv.DictReader(csv_file): # do work对于JSON导出,请使用
json模块。
json.dumps()将采用Python数据结构(如列表和字典)并返回适当的JSON字符串:
import jsonmy_data = {'id': 123, 'name': 'Test User', 'emails': ['test@example.com', 'test@hotmail.com']}my_data_json = json.dumps(my_data)如果要完全按照发布的方式生成JSON输出,则可以执行以下操作:
output = {'persons': []}with open('my_csv.csv') as csv_file: for person in csv.DictReader(csv_file): output['persons'].append({ 'type': 'config.profile', 'id': person['id'], # ...add other fields (email etc) here... }) # ...do similar for config.pictures, config.status, etc...output_json = json.dumps(output)output_json将包含所需的JSON输出。
但是,我建议您仔细考虑要获取的JSON输出的结构-目前,您正在定义一个无用的外部字典,并且将所有“
config”数据直接添加到“
persons‘-您可能需要重新考虑这一点。



