Skip to main content

Read and write tfs files.

Project description

TFS-Pandas

Tests GitHub last commit GitHub release PyPI Version Conda-forge Version DOI

This package provides reading and writing functionality for Table Format System (TFS) files. Files are read into a TfsDataFrame, a class built on top of the pandas.DataFrame, which in addition to the normal behavior attaches a dictionary of headers to the DataFrame.

See the API documentation for details.

Installing

Installation is easily done via pip:

python -m pip install tfs-pandas

One can also install in a conda/mamba environment via the conda-forge channel with:

conda install -c conda-forge tfs-pandas

Example Usage

The package is imported as tfs, and exports top-level functions for reading and writing:

import tfs

# Loading a TFS file is simple
data_frame = tfs.read("path_to_input.tfs", index="index_column")

# You can access and modify the headers with the .headers attribute
useful_variable = data_frame.headers["SOME_KEY"]
data_frame.headers["NEW_KEY"] = some_variable

# Manipulate data as you do with pandas DataFrames
data_frame["NEWCOL"] = data_frame.COL_A * data_frame.COL_B

# You can check the validity of a TfsDataFrame, speficying the
# compatibility mode as well as the behavior in case of errors
tfs.frame.validate(
    data_frame,
    non_unique_behavior="raise",  # or choose "warn"
    compatibility="mad-x",  # or choose "mad-ng"
)

# Writing out to disk is simple too
tfs.write("path_to_output.tfs", data_frame, save_index="index_column")

Compression is automatically supported, based on the provided file extension (for supported formats):

import tfs

# Reading a compressed file is simple, compression format is inferred
df = tfs.read("path_to_input.tfs.gz")

# When writing choose the compression format by providing the appropriate file extension
tfs.write("path_to_output.tfs.bz2", df)
tfs.write("path_to_output.tfs.zip", df)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tfs_pandas-4.0.2.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tfs_pandas-4.0.2-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file tfs_pandas-4.0.2.tar.gz.

File metadata

  • Download URL: tfs_pandas-4.0.2.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tfs_pandas-4.0.2.tar.gz
Algorithm Hash digest
SHA256 2eda7f5bb467539fe4c27d17c242194e28d2e9c74ba1e2fa623017c04f29d493
MD5 cc38869ad8f5dbc7d53866f3a6e7182c
BLAKE2b-256 2689ccb5bfcd6567be5251d1dd27bd241bf8d8559b85832e5d42096b8b9d6278

See more details on using hashes here.

File details

Details for the file tfs_pandas-4.0.2-py3-none-any.whl.

File metadata

  • Download URL: tfs_pandas-4.0.2-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tfs_pandas-4.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4c8097a870806964b921ba4a77d434f8cd189697f45d2eeb6bbdbaadd93d2f49
MD5 047c7c60d6c6807ce3e0820b6f282f76
BLAKE2b-256 302821eadf6d141faa2df88088669a06b2ceae9936afe5e8c359abc8a3de62e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page