Spaces:
Sleeping
Sleeping
File size: 1,887 Bytes
9c91424 |
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 74 75 76 77 78 79 80 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from glob import glob\n",
"import xml.etree.ElementTree as ET\n",
"import json"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"files = glob(\"../../kouigenjimonogatari.github.io/xml/lw/*.xml\")\n",
"files.sort()\n",
"data = []\n",
"\n",
"for file in files:\n",
" tree = ET.parse(file)\n",
" root = tree.getroot()\n",
"\n",
" vol = int(file.split(\"/\")[-1].split(\".\")[0])\n",
" segs = root.findall(\".//{http://www.tei-c.org/ns/1.0}seg\")\n",
" texts = {}\n",
"\n",
" for seg in segs: \n",
" corresp = seg.attrib[\"corresp\"]\n",
" page = int(corresp.split(\"/\")[-1].split(\"-\")[0])\n",
" text = seg.text\n",
"\n",
" if page not in texts:\n",
" texts[page] = []\n",
"\n",
" texts[page].append(text)\n",
"\n",
" for page in texts:\n",
" text = \" \".join(texts[page])\n",
" data.append({\"vol\": vol, \"page\": page, \"text\": text})"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"with open(\"../data.json\", \"w\") as f:\n",
" json.dump(data, f, ensure_ascii=False, indent=4)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.11"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
|