![](/img/trans.png)
[英]python 3.8 how to convert txt to csv with seperator of 2 or more spaces
[英]Convert CSV to JSON with python and split the csv with seperator "|"
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'
}
]
以下是可以幫助您的片段:
import pandas as pd
df = pd.read_csv('test_old.csv',skiprows=2,
names=['schoolname', 'category', 'gender','medium_of_inst',
'address','area','pincode','landmark'],
sep='|', engine='python')
json_output = df.to_json(orient='records')[1:-1].replace('},{', '} {')
print(json_output)
輸出 :
[ { "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" } ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.