``xtab.py`` is a Python module and command-line program that
rearranges data from a normalized format to a crosstabulated format. It takes data
in this form:
======= ========== =====
Station Date Value
------- ---------- -----
WQ-01 2006-05-23 4.5
WQ-02 2006-05-23 3.7
WQ-03 2006-05-23 6.8
WQ-01 2006-06-15 9.7
WQ-02 2006-05-15 5.1
WQ-03 2006-06-15 7.2
WQ-01 2006-07-19 10
WQ-02 2006-07-19 6.1
WQ-03 2006-07-19 8.8
======= ========== =====
and rearranges it into this form:
======= ========== ========== ==========
Station 2006-05-23 2006-06-15 2006-07-19
------- ---------- ---------- ----------
WQ-01 4.5 3.7 6.8
WQ-02 9.7 5.1 7.2
WQ-03 10 6.1 8.8
======= ========== ========== ==========
Input and output are both text (CSV) files.
A summary of its capability and usage is shown below. Full documentation
is available at http://xtab.osdn.io/.
Capabilities
=============
You can use the xtab program to:
* Rearrange data exported from a database to better suit its
subsequent usage in statistical, modeling, graphics, or other
software, or for easier visual review and table preparation.
* Convert a single file (table) of data to a SQLite database.
* Check for multiple rows of data in a text file with the same
key values.
Notes
======
* Multiple data values can be crosstabbed, in which case the output
will contain multiple sets of similar columns.
* Either one or two rows of headers can be produced in the output file.
One row is the default, and is most suitable when the output file will
be further processed by other software. Two rows facilitate readability
when the output contains multiple sets of similar columns.
* The xtab program does not carry out any summarization or
calculation on the data values, and therefore there should be
no more than one data value to be placed in each cell of the output
table. More than one value per cell is regarded as an error, and in
such cases only one of the multiple values will be put in the cell.
* Error messages can be logged to either the console or a file. If no
error logging option is specified, then if there are multiple values
to be put in a cell (the most likely data error), a single message
will be printed on the console indicating that at least one error of
this type has occurred. If an error logging option is specified,
then the SQL for all individual cases where there are multiple values
per cell will be logged.
* The SQL commands used to extract data from the input file for each
output table cell can be logged to a file.
* As an intermediate step in the crostabbing process, data are converted
to a SQLite table. By default, this table is created in memory.
However, it can optionally be created on disk, and preserved so that
it is available after the crosstabulation is completed.
* There are no inherent limits to the number of rows or columns in the
input or output files. (So the output may exceed the limits of some
other software.)
* Input and output file names, and column names in the input file that
are to be used for row headings, column headings, and cell values are
all required as command-line arguments. If any required arguments are
missing, an exception will be raised, whatever the error logging option.
* Data rows are sorted alphanumerically by the row headers and column
headers are sorted alphanumerically in the output.
Raw data
{
"_id": null,
"home_page": "https://osdn.net/project/xtab/",
"name": "xtab",
"maintainer": "",
"docs_url": "https://pythonhosted.org/xtab/",
"requires_python": "",
"maintainer_email": "",
"keywords": "CSV,crosstab,normalized,SQLite,table,data",
"author": "Dreas Nielsen",
"author_email": "dreas.nielsen@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2d/d9/50982e73ac893b8c65140559d4386e0f0c48318055bcc98227dcfb6ee202/xtab-1.1.0.tar.gz",
"platform": null,
"description": "``xtab.py`` is a Python module and command-line program that\nrearranges data from a normalized format to a crosstabulated format. It takes data \nin this form:\n\n======= ========== =====\nStation\t Date Value \n------- ---------- -----\nWQ-01\t2006-05-23 4.5\nWQ-02\t2006-05-23 3.7\nWQ-03\t2006-05-23 6.8\nWQ-01\t2006-06-15 9.7\nWQ-02\t2006-05-15 5.1\nWQ-03\t2006-06-15 7.2\nWQ-01\t2006-07-19 10\nWQ-02\t2006-07-19 6.1\nWQ-03\t2006-07-19 8.8\n======= ========== =====\n\nand rearranges it into this form:\n\n======= ========== ========== ==========\nStation\t2006-05-23 2006-06-15 2006-07-19\n------- ---------- ---------- ----------\nWQ-01 4.5 3.7 6.8\nWQ-02 9.7 5.1 7.2\nWQ-03 10 6.1 8.8\n======= ========== ========== ==========\n\nInput and output are both text (CSV) files.\n\nA summary of its capability and usage is shown below. Full documentation\nis available at http://xtab.osdn.io/.\n\n\nCapabilities\n=============\n\nYou can use the xtab program to:\n\n* Rearrange data exported from a database to better suit its \n subsequent usage in statistical, modeling, graphics, or other\n software, or for easier visual review and table preparation.\n* Convert a single file (table) of data to a SQLite database.\n* Check for multiple rows of data in a text file with the same\n key values.\n\n\nNotes\n======\n\n* Multiple data values can be crosstabbed, in which case the output\n will contain multiple sets of similar columns.\n* Either one or two rows of headers can be produced in the output file.\n One row is the default, and is most suitable when the output file will\n be further processed by other software. Two rows facilitate readability\n when the output contains multiple sets of similar columns.\n* The xtab program does not carry out any summarization or\n calculation on the data values, and therefore there should be\n no more than one data value to be placed in each cell of the output\n table. More than one value per cell is regarded as an error, and in\n such cases only one of the multiple values will be put in the cell.\n* Error messages can be logged to either the console or a file. If no\n error logging option is specified, then if there are multiple values\n to be put in a cell (the most likely data error), a single message\n will be printed on the console indicating that at least one error of\n this type has occurred. If an error logging option is specified,\n then the SQL for all individual cases where there are multiple values\n per cell will be logged.\n* The SQL commands used to extract data from the input file for each\n output table cell can be logged to a file.\n* As an intermediate step in the crostabbing process, data are converted\n to a SQLite table. By default, this table is created in memory. \n However, it can optionally be created on disk, and preserved so that\n it is available after the crosstabulation is completed.\n* There are no inherent limits to the number of rows or columns in the\n input or output files. (So the output may exceed the limits of some\n other software.)\n* Input and output file names, and column names in the input file that\n are to be used for row headings, column headings, and cell values are\n all required as command-line arguments. If any required arguments are\n missing, an exception will be raised, whatever the error logging option.\n* Data rows are sorted alphanumerically by the row headers and column\n headers are sorted alphanumerically in the output.",
"bugtrack_url": null,
"license": "GPL",
"summary": "Crosstabulates data in a text file.",
"version": "1.1.0",
"split_keywords": [
"csv",
"crosstab",
"normalized",
"sqlite",
"table",
"data"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2dd950982e73ac893b8c65140559d4386e0f0c48318055bcc98227dcfb6ee202",
"md5": "71518615d0d7d0e071cf26a7ec682014",
"sha256": "27770220923c7ac2faa3a0b5deddd28a603222272f6959ef7d7d1e6b6939526a"
},
"downloads": -1,
"filename": "xtab-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "71518615d0d7d0e071cf26a7ec682014",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10171,
"upload_time": "2023-04-01T18:22:47",
"upload_time_iso_8601": "2023-04-01T18:22:47.526410Z",
"url": "https://files.pythonhosted.org/packages/2d/d9/50982e73ac893b8c65140559d4386e0f0c48318055bcc98227dcfb6ee202/xtab-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-01 18:22:47",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "xtab"
}