https://github.com/kesha1225/typedcsv
https://github.com/kesha1225/typedcsv
csv csv-files csv-reader csv-types csv-writer typing
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/kesha1225/typedcsv
- Owner: kesha1225
- Created: 2020-11-18T05:40:08.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-12-26T13:14:09.000Z (about 5 years ago)
- Last Synced: 2025-02-28T07:49:34.705Z (about 1 year ago)
- Topics: csv, csv-files, csv-reader, csv-types, csv-writer, typing
- Language: Python
- Homepage:
- Size: 105 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# TypedCsv
Typed extension for default [csv library](https://docs.python.org/3/library/csv.html)
Installation
```
pip install typed_csv
```
Put your csv data into typed model
```python
from typed_csv import TypedReader, BaseModel
class UsersModel(BaseModel):
name: str
phone: int
with open("users.csv") as csvfile:
typed_reader = TypedReader(csvfile, delimiter=";", model=UsersModel)
for row in typed_reader:
print(type(row)) #
print(row.name)
```
Put your typed model into csv file
```python
from typed_csv import TypedWriter, BaseModel
class UsersModel(BaseModel):
name: str
phone: int
with open("users.csv") as csvfile:
writer = TypedWriter(csvfile, model=UsersModel)
writer.writeheader()
writer.writerow(UsersModel(name="Kolya", phone=89041588888))
writer.writerow(UsersModel(name="Antosha", phone=89123456789))
```