def read(table, _where={}): # solved if table in ["win_loss", "versus"]: return tb.read(table, _where) elif table in ["overall"]: fraction = ("Overall, " + fractions[_where]) if _where != {} else "*" request = f"SELECT {fraction} FROM overall" return CURSOR.execute(request).fetchall()
def from_html(): # solved # html parsing with open(html_file, "r", encoding="utf-8") as f: contents = f.read() sp = soup(contents, "lxml") rows = [tuple(row) for row in sp.tbody.find_all("tr")] # corrected row rows = list(modifyrows(html_data, rows)) if tb.count("lastrow") == 0: tb.write(rows[0], "lastrow") num_lastrow = len(rows) else: lastrow = tb.read()[0] num_lastrow = rows.index(lastrow) tb.update(rows[0]) log(num_lastrow) return rows[:num_lastrow]
def header(self, header): self._header = header self.column_size(header) def print_middle(self): sep = f"\n{self._border.draw_middle()}\n" data = [self._header, *self._rows] return f"\n{sep.join(self._border.draw_row(row) for row in data)}\n" def __str__(self): line = self._border.draw_top() line += self.print_middle() line += self._border.draw_bottom() line += f"\ntable '{self._table_name}'" return line versus = Printify("versus") versus.header = request_header(versus.table_name) versus.add_rows(tb.read(versus.table_name)) print(versus) win_loss = Printify("win_loss") win_loss.header = request_header(win_loss.table_name) win_loss.add_rows(tb.read(win_loss.table_name)) print(win_loss) overall = Printify("overall") overall.header = request_header(overall.table_name) overall.add_rows(tb.read(overall.table_name)) print(overall)
import table t = table.read("iris.csv", "nnnnc") t.cluster(['Petal.Width', 'Petal.Length']) t.cluster(['Petal.Width', 'Petal.Length'], clusters=3) t.cluster(['Petal.Width', 'Petal.Length'], method='hierarchical', clusters=3) for r in t: print(r['_meanshift_'],r['_kmeans_'],r['_hierarchical_'],r['Species'],sep='\t')
# What is the state with highest murder rate in Blue states? import table data = table.read("crimeRatesByState2005.csv", "cnnnnnnnnc") # m = max(row["murder"] for row in data if row['politics']=='Blue') # s = [ (row["state"],row["murder"]) for row in data if row["murder"]==m and row['politics']=='Blue'] selected = [ row for row in data if row['politics']=='Blue'] max_row = selected[0] for row in selected: if max_row['murder'] < row['murder']: max_row = row print(max_row)