FormatFlex is a flexible Python library designed to seamlessly handle various text and data formats.
(This repository welcomes as many pull requests (PRs) as possible. Your active contributions are greatly appreciated!)
Currently, it is largely divided into three categories: hierarchical, tabular, and general types. If there are other classification methods or missing parts in each type support, it would be better if you could leave it as an issue or send a PR.
pip install format_flex
from format_flex import HData
with open("sample/sample.json", "rt", encoding="utf-8") as f:
data = f.read()
hdata = HData(data)
save_path = "./output/hdata_example"
# Convert and save in various formats
print(hdata.to.xml(save_path).summary)
print(hdata.to.json(save_path).summary)
print(hdata.to.yaml(save_path).summary)
print(hdata.to.toml(save_path).summary)
print(hdata.to.bson(save_path).summary)
print(hdata.to.cbor2(save_path).summary)
print(hdata.to.msgpack(save_path).summary)
print(hdata.to.ubjson(save_path).summary)
from format_flex import TData
tdata = TData("sample/music_dataset.csv")
save_path = "./output/tdata_example"
print(tdata.to.csv(save_path).summary)
print(tdata.to.excel(save_path).summary)
print(tdata.to.parquet(save_path).summary)
print(tdata.to.orc(save_path).summary)
print(tdata.to.feather(save_path).summary)
print(tdata.to.hdf5(save_path).summary)
import numpy as np
from format_flex import GData
data = {
"name": "Alice",
"age": 30,
"scores": [95, 87, 78],
"numbers": np.random.random((10, 10)),
"details": {
"hobbies": ["reading", "cycling", "hiking"],
"active": True,
"balance": 1234.56
}
}
save_path = "./output/gdata_example"
gdata = GData(data)
print(gdata.to.pickle(save_path).summary)
print(gdata.to.dill(save_path).summary)
print(gdata.to.cloudpickle(save_path).summary)
print(gdata.to.joblib(save_path).summary)
This project is licensed under the MIT License.