Maguro is a Python-wrapper for DSV files.
Project description
Maguro
Maguro is a Python-wrapper for DSV files.
Other behaviors are similar to a native Python list, the tutorial below only covers add-on features specific to Maguro.
Official Release
Maguro can now be used on your Python projects through PyPi by running pip command on a Python-ready environment.
pip install maguro --upgrade
Current version is 1.1.0, but more updates are coming soon. This is compatible with Python version 3.9 or with the latest.
package import
from maguro import Maguro
basic usage
dataset = Maguro("dataset.csv")
custom encoding
dataset = Maguro("dataset.csv", encoding="utf-8")
custom delimiter
dataset = Maguro("dataset.tsv", delimiter="\t")
clear
Remove all items inside the list by using dataset.clear() method.
add items
Use dataset.append(value) to add new item in the list.
add only if unique
Use dataset.append(value, unique=True) to add if item is not yet in the list.
sorting
Use dataset.sort() to sort the list alphabetically.
reverse
Use dataset.reverse() to reverse the list.
remove item
Use dataset.pop(index) to to remove the first occurence in the list.
to formatted string
Return a formatted string, concatenated by the specificied delimiter, by using dataset.pack() method.
raw list
Return a raw list (of list data type) by using dataset.unpack() method.
loop over items
for item in dataset:
print(item)
remove item
Remove existing (or non-existing) value.
Usage: dataset.remove(value)
insert item
Insert data at a specific index
Usage: dataset.insert(index, value)
load list
Loading new data into a Maguro object will replace previous contents.
Usage: dataset.load(iterable)
extend list
Extending original lists follows the same list syntax.
Usage: dataset.extend(iterable)
remove duplicates
Maguro leverages Python list(set()) casting to remove duplicates.
Usage: dataset.distinct()
Creating 2D arrays
test = Maguro("temp/03b-2d.csv", delimiter=",", newline="\n")
test.append(["Juan", 23, "Male", 72, 168, False])
test.append(["Pedro", 22, "Male", 68, 172, True])
test.append(["Maria", 19, "Female", 56, 162, True])
Force Quotations on Strings
test = Maguro("temp/9-tab-separated-values.tsv", delimiter="\t", newline="\n", quote_strings=True)
test.clear()
test.append(["a", "b", "c", "d", "e"])
test.append(["1", "2", "3", "4", "5"])
test.append([1, 2, 3, 4, 5])
print(test.unpack())
Convert Yes, y, No, and n to equivalent Boolean data type (run-time only)
test = Maguro("temp/04-booleans.csv", delimiter=",", newline="\n", allow_boolean=True)
Header methods
# Get the header
test = Maguro("temp/12a-header.csv", delimiter=",", newline="\n", quote_strings=True, has_header=True)
print(test.get_header())
# Replace with new header
# equivalent to: test[0] = [*]
test = Maguro("temp/12b-header.csv", delimiter=",", newline="\n", quote_strings=True, has_header=True)
test.set_header(["earthquakeId", "occurred_on", "latitude", "longitude", "depth", "magnitude", "calculation_method", "network_id", "place", "cause"])
print(test[0])
# Add new header
test = Maguro("temp/12c-header.csv", delimiter=",", newline="\n", quote_strings=True)
test.set_header(["earthquake_id", "occurred_on", "latitude", "longitude", "depth", "magnitude", "calculation_method", "network_id", "place", "cause"])
print(test[0])
print(test[1])
# Remove header if set
# exquivalent to: test = test[1:]
test = Maguro("temp/13-header.csv", delimiter=",", newline="\n", quote_strings=True, has_header=True)
test.behead()
print(test[0])
Expand all valid child list to max-length
test = Maguro("temp/14-expand.csv", delimiter=",", newline="\n")
test.clear()
test.append(["name", "age", "gender", "address"])
test.append(["Juan", "22", "M"])
test.append(["Pedro", "21", "M", "Mars"])
test.append(["Maria", "18", "F", "Earth", "Blue"])
test.append("Soledad")
test.expand()
print(test.pack())
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file maguro-1.1.3.tar.gz.
File metadata
- Download URL: maguro-1.1.3.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20719ad8ce1bc4f99b77394ec8eabea8bd9a60b90a64f607f227f43e4c94180e
|
|
| MD5 |
c56097036801315f388d2db1be7df49e
|
|
| BLAKE2b-256 |
914fd95ab6ccda86e4180a763ae178e89515f34da639f71e2e0daae1bfada422
|
File details
Details for the file maguro-1.1.3-py3-none-any.whl.
File metadata
- Download URL: maguro-1.1.3-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
792aa6ad34a9774b7378068596aa64b0a6cac72d0a5d92c7eedcd7bf9a408b5f
|
|
| MD5 |
d062d90375903de56d87e605c1673295
|
|
| BLAKE2b-256 |
a55262b67aab76300af48d96205c2757ad4284259ef83678ac78185ccbebe94e
|