Best Python code snippet using pandera_python
db.py
Source:db.py
...213 self._process_insert(value, key)214 except sqlite3.IntegrityError, e:215 raise TypeError("A row with the given ID already exists. Either edit the existing one, or append a new row using append().")216 217 def _set_column_names(self, names):218 self._column_names = names219 220 def _retrieve_column_names(self):221 cur = self.db.query("SELECT * FROM %s WHERE 0" % self.table) # Not SQLi-safe!222 self._set_column_names([x[0] for x in cur.description])223 224 def __getattr__(self, name):225 if name == "columns":226 try:227 return self._column_names228 except AttributeError, e:229 self._retrieve_column_names()230 return self._column_names231 else:232 raise AttributeError("No such attribute exists")233 234 def append(self, value):235 value._table = self.table236 return self._process_insert(value)237 238class DatabaseTable(Table):239 def __init__(self, database, table_name):240 Table.__init__(self, database, table_name)241 self._cache = {}242 243 def _process_insert(self, value, key=None):244 rowid = Table._process_insert(self, value, key)245 self._cache[rowid] = value246 return rowid247 248 def __getitem__(self, key):249 try:250 return self._cache[key]251 except KeyError, e:252 result = self.db.query("SELECT * FROM %s WHERE `Id` = ?" % self.table, params=(key,))253 self._set_column_names([x[0] for x in result.description])254 255 if result is None:256 raise KeyError("No row with that ID was found in the table.")257 else:258 row = result.fetchone()259 row._db = self.db260 row._table = self.table261 row._type = "database"262 self._cache[key] = row263 return row264 265 def __setitem__(self, key, value):266 self._try_set(key, value, self._cache)267 268 def purge(self):269 self._cache = {}270class MemoryTable(Table):271 def __init__(self, database, table_name):272 Table.__init__(self, database, table_name)273 self.data = {}274 self._retrieve_data()275 276 def _retrieve_data(self):277 result = self.db.query("SELECT * FROM %s" % self.table) # Not SQLi-safe!278 self._set_column_names([x[0] for x in result.description])279 280 for row in result:281 row._db = self.db282 row._table = self.table283 row._type = "memory"284 self.data[row['Id']] = row285 286 def _process_insert(self, value, key=None):287 rowid = Table._process_insert(self, value, key)288 self.data[rowid] = value289 self.data[rowid]._db = self.db290 self.data[rowid]._table = self.table291 self.data[rowid]._type = "memory"292 return rowid...
data_structures.py
Source:data_structures.py
...42 column_names: List[str] = field(init=False)43 def __post_init__(self):44 self._same_size_columns()45 self.index = self._set_index()46 self.column_names = self._set_column_names()47 self._check_column_name_collision()48 def __dict__(self):49 return {col.name:col.values for col in self.columns}50 def _set_column_names(self) -> List[str]:51 return [col.name for col in self.columns]52 def _same_size_columns(self):53 lengths = [col.length for col in self.columns]54 if max(lengths) != min(lengths):55 raise ValueError("Column sizes are not the same.")56 def _set_index(self):57 return list(range(self.columns[0].length))58 def _check_column_name_collision(self):59 col_names = [col.name for col in self.columns]60 if len(set(col_names)) != len(col_names):61 raise ValueError(f"You cannot have repeated column names, this will create collisions")62 def get_row(self, index_value: int) -> Dict:63 return {col.name:col.values[index_value] for col in self.columns}64 def get_column(self, column_name: str) -> Column:...
google_drive.py
Source:google_drive.py
...37 return file_list38 else:39 raise ValueError("No files returned from server. Make sure, folder id is correct and folder is shared.")40@R.curry41def _set_column_names(df: pd.DataFrame) -> pd.DataFrame:...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!