home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 1155364367

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions issue performed_via_github_app
https://github.com/simonw/sqlite-utils/issues/412#issuecomment-1155364367 https://api.github.com/repos/simonw/sqlite-utils/issues/412 1155364367 IC_kwDOCGYnMM5E3XYP 9599 2022-06-14T15:36:28Z 2022-06-14T15:36:28Z OWNER

Here's as far as I got with my initial prototype, in sqlite_utils/pandas.py:

from .db import Database as _Database, Table as _Table, View as _View
import pandas as pd
from typing import (
    Iterable,
    Union,
    Optional,
)


class Database(_Database):
    def query(
        self, sql: str, params: Optional[Union[Iterable, dict]] = None
    ) -> pd.DataFrame:
        return pd.DataFrame(super().query(sql, params))

    def table(self, table_name: str, **kwargs) -> Union["Table", "View"]:
        "Return a table object, optionally configured with default options."
        klass = View if table_name in self.view_names() else Table
        return klass(self, table_name, **kwargs)


class PandasQueryable:
    def rows_where(
        self,
        where: str = None,
        where_args: Optional[Union[Iterable, dict]] = None,
        order_by: str = None,
        select: str = "*",
        limit: int = None,
        offset: int = None,
    ) -> pd.DataFrame:
        return pd.DataFrame(
            super().rows_where(
                where,
                where_args,
                order_by=order_by,
                select=select,
                limit=limit,
                offset=offset,
            )
        )


class Table(PandasQueryable, _Table):
    pass


class View(PandasQueryable, _View):
    pass
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
1160182768  
Powered by Datasette · Queries took 1.17ms · About: github-to-sqlite