python - 使用 python 将 CSV 转换为 JSON 并使用分隔符“|”拆分 csv
问题描述
schoolname|category|gender|medium_of_inst|address|area|pincode|landmark
----------+----------+----------+----------+----------+----------+------
qqq|qqq|qq|aa|asd|wer|asd|wert
www|fgh|qq|aa|sg|wer|asd|wert
eee|fxg|qq|aa|axcvsd|wer|asd|wert
如何删除第二行并拆分“|” 并将其转换为 json
解决方案
试试下面的代码。首先拆分字符串\n
并删除第二行,然后拆分|
。希望这会有所帮助。
import json
strings = '''schoolname|category|gender|medium_of_inst|address|area|pincode|landmark
----------+----------+----------+----------+----------+----------+------
qqq|qqq|qq|aa|asd|wer|asd|wert
www|fgh|qq|aa|sg|wer|asd|wert
eee|fxg|qq|aa|axcvsd|wer|asd|wert'''
json_file_name = 'test.json'
strings = strings.split('\n') #Split the string by newline \n
del strings[0] #Remove the heading columns
del strings[0] #Remove the string starts with ----------+
data = []
try:
for string in strings:
row = string.split('|') #Split and write to json
row_data = {};
row_data['schoolname'] = row[0]
row_data['category'] = row[1]
row_data['gender'] = row[2]
row_data['medium_of_inst'] = row[3]
row_data['address'] = row[4]
row_data['area'] = row[5]
row_data['pincode'] = row[6]
row_data['landmark'] = row[7]
data.append(row_data)
with open(json_file_name, 'w') as outfile:
json.dump(data, outfile)
#Use the below to read the file
with open(json_file_name) as file_object:
# store file data in object
data = json.load(file_object)
print(data)
except Exception as e:
print("Type error: " + str(e))
输出
[
{
'schoolname': 'qqq',
'category': 'qqq',
'gender': 'qq',
'medium_of_inst': 'aa',
'address': 'asd',
'area': 'wer',
'pincode': 'asd',
'landmark': 'wert'
},
{
'schoolname': 'www',
'category': 'fgh',
'gender': 'qq',
'medium_of_inst': 'aa',
'address': 'sg',
'area': 'wer',
'pincode': 'asd',
'landmark': 'wert'
},
{
'schoolname': 'eee',
'category': 'fxg',
'gender': 'qq',
'medium_of_inst': 'aa',
'address': 'axcvsd',
'area': 'wer',
'pincode': 'asd',
'landmark': 'wert'
}
]
推荐阅读
- cordova - 覆盖 CapacitorWebView 上的 shouldOverrideUrlLoading 和 onPageFinished
- ios - 在不中断背景媒体播放的情况下录制音频
- node.js - JSON.parse() 导致没有任何数据的错误
- python-3.x - Python中的多元线性回归机器学习
- android - Android VOIP 应用程序
- asp.net-core-2.2 - AspNet 核心 401 - 添加令牌时没有 SecurityTokenValidator
- git - 如何分叉和修改 Google API Go 客户端 SDK 以解决 Slides API Range 问题?
- php - woocommerce 自定义电子邮件模板 php
- localhost - 从 iPhone 访问本地主机 - WAMP
- javascript - 如何在 Angular 中保存组件的状态?