File size: 1,619 Bytes
3d3bb36 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | import pandas as pd
# def process_data(file_path):
# data = pd.read_csv(file_path)
# # print(data.columns)
# processed_data = []
#
# for index, line in data.iterrows():
# dct = {
# "text": [],
# "spo_list": {
# "subject": [],
# "object": [],
# "predicate": [],
# },
# }
# dct["text"] = line["text"]
# dct["spo_list"]["object"] = line["effect"]
# dct["spo_list"]["subject"] = line["drug"]
# dct["spo_list"]["predicate"] = "causes"
# processed_data.append(dct)
#
#
# return processed_data
#
#
#
def merge_data(data):
name_list = []
data_list = []
for each in data:
if each["text"] not in name_list:
name_list.append(each["text"])
data_list.append(each)
else:
index = name_list.index(each["text"])
data_list[index]["spo_list"].append(each["spo_list"][0])
return data_list
def process_data(file_path):
data = pd.read_csv(file_path)
# print(data.columns)
processed_data = []
for index, line in data.iterrows():
dct = {
"text": [],
"spo_list": [],
}
spo = {
"subject": "",
"object": "",
"predicate": ""
}
dct["text"] = line["text"]
spo["object"] = line["effect"]
spo["subject"] = line["drug"]
spo["predicate"] = "causes"
dct["spo_list"].append(spo)
processed_data.append(dct)
return merge_data(processed_data)
|