123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # %%
- import sqlite3
- import pandas as pd
- import dtale
- import unicodedata
- #from simple_query_test_pandas import ricercaforme, ricercalemmi, ricercaformelemmi, ricercalemmiforme, interpreter
- #from test_occorrenzario_pandas import findtexts, findcontexts, findbib, contestimultipli, get_tables_occ
- #funzione di definizione sottocorpus
- def definiscisottocorpus(path, table, conditions=None):
- conn = sqlite3.connect(f"file:{path}/bibliografia/BiblioTLIO.db?mode=ro", uri=True)
- c = conn.cursor()
- query = "SELECT sigla FROM datibib WHERE 1"
- if conditions:
- for key, value in conditions.items():
- if key == "[Anno iniziale]":
- query += f" AND {key} >= {value}"
- print(query)
- elif key == "[Anno finale]":
- query += f" AND {key} <= {value}"
- print(query)
- else:
- if isinstance(value, list):
- query += " AND {} IN ({})".format(key, ",".join(["'{}'".format(v) for v in value]))
- else:
- query += " AND {}='{}'".format(key, value)
- print(query)
- c.execute(query)
- results = c.fetchall()
- conn.close()
- sottocorpus = [result[0] for result in results]
- return sottocorpus
- # %%
- path = "/Users/leonardocanova/Library/CloudStorage/OneDrive-ConsiglioNazionaledelleRicerche/TIGRO/Ricerche/db/first_db"
- conditions = {"IQ": "TS", "[Titolo Abbreviato]": ["Simintendi, a. 1333 (prat.)", "Albertano volg., 1275 (fior.)"]}
- chronoconditions = {"[Anno iniziale]": 1275, "[Anno finale]": 1276}
- conditions2 = {"[Autore]": ["Dante Alighieri", "Boccaccio, Giovanni"]}
- siglas = definiscisottocorpus(path,"datibib", conditions2)
- print(siglas)
- # %%
|