34 lines
855 B
Python
34 lines
855 B
Python
|
#!/usr/bin/env python
|
||
|
# encoding: utf-8
|
||
|
|
||
|
import pandas as pd
|
||
|
from pathlib import Path
|
||
|
|
||
|
|
||
|
__all__ = ["list_csvs", "extract_exam"]
|
||
|
|
||
|
|
||
|
def list_csvs(path):
|
||
|
""" list csv files in path """
|
||
|
return list(Path(path).glob("*.csv"))
|
||
|
|
||
|
|
||
|
def extract_fields(csv_filename, fields=[], remove_duplicates=True):
|
||
|
"""Extract fields in csv
|
||
|
|
||
|
:param csv_filename: csv filename (with header)
|
||
|
:param fields: list of fields to extract (all fields if empty list - default)
|
||
|
:param remove_duplicates: keep uniques rows (default True)
|
||
|
|
||
|
:example:
|
||
|
>>> extract_fields("./example/Tribe1/210122_DS6.csv", ["Trimestre", "Nom", "Date"])
|
||
|
Trimestre Nom Date
|
||
|
0 1 DS6 22/01/2021
|
||
|
"""
|
||
|
df = pd.read_csv(csv_filename)
|
||
|
if fields:
|
||
|
df = df[fields]
|
||
|
if remove_duplicates:
|
||
|
return df.drop_duplicates()
|
||
|
return df
|