semvec/pypi-packages huggingface dataset:
import-me 0.3.1
Python tool for importing and validating data from xlsx/xls/csv files.
License: MIT
Keywords: xlsx csv import

# import me

[![Build Status](https://travis-ci.org/best-doctor/import_me.svg?branch=master)](https://travis-ci.org/best-doctor/import_me)
[![Maintainability](https://api.codeclimate.com/v1/badges/5e6923f90968e21955e4/maintainability)](https://codeclimate.com/github/best-doctor/import_me/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/5e6923f90968e21955e4/test_coverage)](https://codeclimate.com/github/best-doctor/import_me/test_coverage)
[![PyPI version](https://badge.fury.io/py/import-me.svg)](https://badge.fury.io/py/import-me)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/import-me)](https://pypi.org/project/import-me/)

Python tool for importing and validating data from xlsx/xls/csv files.

## Example

```jupyter
from import_me import BaseXLSXParser, Column
from import_me.processors import StringProcessor, IntegerProcessor

>>> class XLSXParser(BaseXLSXParser):
...     columns = [
...         Column('first_name', index=0, header='First Name', processor=StringProcessor()),
...         Column('last_name', index=1, header='Last Name', processor=StringProcessor()),
...         Column('age', index=2, header='Age', processor=IntegerProcessor()),
...     ]

>>> parser = XLSXParser(file_path=xlsx_filepath)
>>> parser()
>>> print(parser.has_errors)  # False
>>> pprint(parser.cleaned_data)
[
    {
        'first_name': 'Ivan',
        'last_name': 'Ivanov',
        'age': 25,
        'row_index': 1,
    },
    {
        'first_name': 'Petr',
        'last_name': 'Petrov',
        'age': 33,
        'row_index': 2,
    },
]
```

## Installation

```bash
pip install import_me
```

## Contributing

We would love you to contribute to our project. It's simple:

- Create an issue with bug you found or proposal you have.
  Wait for approve from maintainer.
- Create a pull request. Make sure all checks are green.
- Fix review comments if any.
- Be awesome.

Here are useful tips:

- You can run all checks and tests with `make check`. Please do it
  before TravisCI does.
- We use
  [BestDoctor python styleguide](https://github.com/best-doctor/guides/blob/master/guides/en/python_styleguide.md).
- We respect [Django CoC](https://www.djangoproject.com/conduct/).
  Make soft, not bullshit.
datahints 0.1.1
Type hinting for pandas DataFrame
License: MIT
Requires Python: >=3.9,<4.0

# datahints

Validate pandas dataframes using type information.
Enables IDE autocompletion and refactoring of column names
as well as explicitly documenting expected columns and their data types.

All dataframes are treated as standard pandas dataframes,
no instancing of the subclasses is required.

## Installation
`pip install datahints`

## Example
```python
import pandas as pd
import numpy as np
from datahints import DataFrame, Series
from typing import Optional, Union

class MyDataFrame(DataFrame):
    col1: Series[int]
    col2: Series[Union[int, float]]
    col3: Optional[Series[np.float64]]

# validate any dataframe
df = pd.DataFrame({"col1": [1, 2], "col2": [3.0, 4.0]})
MyDataFrame.validate(df)

# validate and annotate type for IDE support
df = MyDataFrame.validate(df)

# use statically named columns 
df[MyDataFrame.col3] = [5.0, 6.0]

# constructor simply returns a dataframe instance
df = MyDataFrame({MyDataFrame.col1: [1, 2], MyDataFrame.col2: [3.0, 4.0]})
MyDataFrame.validate(df)

# create and validate directly
df = MyDataFrame.create({
    MyDataFrame.col1: [1, 2],
    MyDataFrame.col2: [3.0, 4.0]
})

# infer column names automatically (if all columns are present)
df = MyDataFrame.create([
    (1, 3.0, 5.0),
    (2, 4.0, 6.0)
])
```

## Type inference
Native types are automatically assumed to represent the following numpy equivalents:

|type|dtype|
|----|-----|
|`str`|`np.str_`, `np.object_`|
|`int`|`np.int32`, `np.int64`|
|`float`|`np.float32`, `np.float64`|
|`bool`|`np.bool_`|
|`date`, `datetime`|`"datetime64[ns]"`|