A tool for reading and transforming PDZ 24 and PDZ 25 formats
Project description
PDZ-Tool
PDZ-Tool is a Python library for reading PDZ files and converting them into CSV or JSON formats. PDZ files are commonly used to store data from X-ray fluorescence (XRF) instruments, and this tool allows easy extraction and transformation of the data for analysis.
Features
- Read PDZ files in version 24 and 25 formats.
- Parse and extract important information from the PDZ file into JSON format.
- Convert the parsed data to CSV format for further analysis.
- Verbose and debug modes to help troubleshoot issues during parsing.
Installation
You can install pdz-tool
via pip
.
pip install pdz-tool
Usage
#### 1. Importing and Initializing PDZTool
from pdz_tool import PDZTool
# Initialize a PDZTool object
pdz_tool = PDZTool('path/to/pdz_file.pdz')
#### 2. Parsing a PDZ File
parsed_data = pdz_tool.parse()
#### 3. Accessing Parsed Data as a Dictionary
record_names = pdz_tool.record_names # Record names found on the pdz file
for record_name in record_names:
print(f"Record Name: {record_name}")
print(parsed_data[record_name])
#### 4. Converting Parsed Data to JSON
json_data = pdz_tool.to_json()
print(json_data)
#### 5. Saving Parsed Data to JSON File
pdz_tool.to_json('output.json')
#### 6. Saving Parsed Data to CSV
pdz_tool.to_csv('output.csv')
CLI Usage:
pdz-tool path/to/pdz_file.pdz
see pdz-tool --help
for more options.
Demo
Demo folder is included in the project, containing example PDZ files to help you get started. You can run the demo script to test the functionality of the PDZ-Tool:
python demo/demo_script.py
Development
Cloning the Repository
If you wish to modify or extend the tool, clone the repository:
git clone git@github.com:bducraux/pdz-tool.git
cd pdz-tool
Dependencies
Installing Poetry
This project uses Poetry for dependency management. If you don't have Poetry installed, you can install it by running:
pip install poetry
Installing Dependencies
To install the dependencies, run:
poetry install
Contributing
Contributions are welcome! If you find any bugs or have suggestions for new features, feel free to open an issue or submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For any inquiries or support, please reach out at bruno.drx@gmail.com.
Thank you for using PDZ-Tool! 😊
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pdz_tool-0.2.0.tar.gz
.
File metadata
- Download URL: pdz_tool-0.2.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.1 Linux/6.5.0-28-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfb27784c1b96c03648248b04eb453ed56a3ffcbb2b8e9c9ae49a82ffc477605 |
|
MD5 | 9865f81258ee142f3be31b43711bcd9b |
|
BLAKE2b-256 | c4c4ed4d545d5f0929b4fdeb4f6a3917516c32b74be2dc243302b457712e9cd6 |
File details
Details for the file pdz_tool-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pdz_tool-0.2.0-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.1 Linux/6.5.0-28-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73f478a9fe6b6344650b0ebe1cb8f8509d77e95503453c3a8087d8adc6217236 |
|
MD5 | d9d94ce3c27a6c81bea9e683e90bbdfc |
|
BLAKE2b-256 | 57a70f8c4a1d10778eb45c08a538874e62e92bdea5ac255d01c35524e58880bd |