-
Notifications
You must be signed in to change notification settings - Fork 0
/
read_homework.py
57 lines (49 loc) · 1.61 KB
/
read_homework.py
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
from docx import Document
from docx import table
import re
import pandas as pd
import sys
from sqlalchemy import Column,String,Integer,ForeignKey,create_engine,PrimaryKeyConstraint
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Article(Base):
__tablename__ = 'homework_article'
article_id = Column(Integer,primary_key=True,autoincrement = True)
content = Column(String(1000))
homework_index = Column(Integer)
class Homework(Base):
__tablename__ = 'homework'
exercise_id = Column(Integer,primary_key=True,autoincrement = True)
character = Column(String(5))
word1 = Column(String(10))
word2 = Column(String(10))
homework_index = Column(Integer)
doc_path = sys.argv[1]
homework_doc_id = sys.argv[2]
doc = Document(doc_path)
# doc = Document('../data/诊断报告表头样式.docx')
print(doc.paragraphs[0].text)
content1 = doc.tables[0].rows[8].cells[0].text
content2 = doc.tables[0].rows[9].cells[0].text
a = content1.split('\t')
pattern = r'[\n\t]'
a = re.split(pattern,content1)
a = [i for i in a if i != '']
b = [i.split(' ') for i in a][1:]
engine = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/charword')
DBSession = sessionmaker(bind=engine)
db = DBSession()
Base.metadata.create_all(engine)
article = Article(content = content2,homework_index=homework_doc_id)
db.add(article)
db.commit()
for i in b:
if(len(i)==0):
continue
hw = Homework(character=i[0],word1=i[1],homework_index=homework_doc_id)
if len(i) == 3:
hw.word2 = i[2]
db.add(hw)
db.commit()
db.close()