|
|
@ -9,4 +9,3 @@ dist/
|
||||||
|
|
||||||
.pytest_cache/
|
.pytest_cache/
|
||||||
_build/
|
_build/
|
||||||
_static/
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
Be cordial or be on your way. -- Kenneth Reitz
|
||||||
|
|
||||||
|
https://www.kennethreitz.org/essays/be-cordial-or-be-on-your-way
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
# Contributor's Guide
|
||||||
|
|
||||||
|
If you're reading this, you're probably looking to contributing to Camelot. *Time is the only real currency*, and the fact that you're considering spending some here is *very* generous of you. Thanks you very much!
|
||||||
|
|
||||||
|
This document will help you get started with contributing documentation, code, testing and filing issues. If you have any questions, feel free to reach out to [Vinayak Mehta](http://vinayak-mehta.github.io), the author and maintainer.
|
||||||
|
|
||||||
|
## Code Of Conduct
|
||||||
|
|
||||||
|
The following quote sums up the **Code Of Conduct**.
|
||||||
|
|
||||||
|
**Be cordial or be on your way**. *--Kenneth Reitz*
|
||||||
|
|
||||||
|
Kenneth Reitz has also written an [essay](https://www.kennethreitz.org/essays/be-cordial-or-be-on-your-way) on this topic, which you should read.
|
||||||
|
|
||||||
|
As the [Requests Code Of Conduct](http://docs.python-requests.org/en/master/dev/contributing/#be-cordial) states, **all contributions are welcome**, as long as everyone involved is treated with respect.
|
||||||
|
|
||||||
|
## Your First Contribution
|
||||||
|
|
||||||
|
A great way to start contributing to Camelot is to pick an issue tagged with the [Contributor Friendly](https://github.com/socialcopsdev/camelot/labels/Contributor%20Friendly) tag or the [Level: Easy](https://github.com/socialcopsdev/camelot/labels/Level%3A%20Easy) tag. If you're unable to find a good first issue, feel free to contact the maintainer.
|
||||||
|
|
||||||
|
## Setting up a development environment
|
||||||
|
|
||||||
|
To install the dependencies needed for development, you can use pip:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ pip install camelot-py[dev]
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Pull Requests
|
||||||
|
|
||||||
|
### Submit a Pull Request
|
||||||
|
|
||||||
|
The preferred workflow for contributing to Camelot is to fork the [project repository](https://github.com/socialcopsdev/camelot) on GitHub, clone, develop on a branch and then finally submit a pull request. Steps:
|
||||||
|
|
||||||
|
1. Fork the project repository: click on the ‘Fork’ button near the top of the page. This creates a copy of the code under your account on the GitHub.
|
||||||
|
|
||||||
|
2. Clone your fork of the Camelot from your GitHub account:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ git clone https://www.github.com/[username]/camelot
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
3. Create a branch to hold your changes:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ git checkout -b my-feature
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Always branch out from `master` to work on your contribution. It's good practice to never work on the `master` branch!
|
||||||
|
|
||||||
|
**Protip: `git stash` is a great way to save the work that you haven't committed yet, to move between branches.**
|
||||||
|
|
||||||
|
4. Work on your contribution. Add changed files using `git add` and then `git commit` them:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ git add modified_files
|
||||||
|
$ git commit
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
5. Finally, push them to your GitHub fork:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ git push -u origin my-feature
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Now it's time to go to the your fork of Camelot and create a pull request! You can [follow these instructions](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) to do the same.
|
||||||
|
|
||||||
|
### Work on your Pull Request
|
||||||
|
|
||||||
|
We recommend that your pull request complies with the following rules:
|
||||||
|
|
||||||
|
- Make sure your code follows [pep8](http://pep8.org).
|
||||||
|
|
||||||
|
- In case your pull request contains function docstrings, make sure you follow the [numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) format. All function docstrings in Camelot follow this format. Moreover, following the format will make sure that the API documentation is generated flawlessly.
|
||||||
|
|
||||||
|
- Make sure your commit messages follow [the seven rules of a great git commit message](https://chris.beams.io/posts/git-commit/).
|
||||||
|
- Separate subject from body with a blank line
|
||||||
|
- Limit the subject line to 50 characters
|
||||||
|
- Capitalize the subject line
|
||||||
|
- Do not end the subject line with a period
|
||||||
|
- Use the imperative mood in the subject line
|
||||||
|
- Wrap the body at 72 characters
|
||||||
|
- Use the body to explain what and why vs. how
|
||||||
|
|
||||||
|
- Please prefix your title of your pull request with [MRG] (Ready for Merge), if the contribution is complete and ready for a detailed review. An incomplete pull request's title should be prefixed with [WIP] (to indicate a work in progress), and changed to [MRG] when it's complete. A good [task list](https://blog.github.com/2013-01-09-task-lists-in-gfm-issues-pulls-comments/) in the PR description will ensure that other people will get a better idea of what it proposes to do, which will also increase collaboration.
|
||||||
|
|
||||||
|
- If contributing new functionality, make sure that you add a unit test for it, while making sure that all previous tests pass. Camelot uses [pytest](https://docs.pytest.org/en/latest/) for testing. Tests can be run using:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ python setup.py test
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Writing Documentation
|
||||||
|
|
||||||
|
Writing documentation, function docstrings, examples and tutorials is a great way to start contributing to open-source software! The documentation is present inside the `docs/` directory of the source code repository.
|
||||||
|
|
||||||
|
The documentation is written in [reStructuredText](https://en.wikipedia.org/wiki/ReStructuredText), with [Sphinx](http://www.sphinx-doc.org/en/master/) used to generate these lovely HTML files that you're currently reading (unless you're reading this on GitHub). You can edit the documentation using any text editor and then generate the HTML output by running `make html` in the `docs/` directory.
|
||||||
|
|
||||||
|
The function docstrings are written using the [numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html) extension for Sphinx. Make sure you check it out before you start writing one.
|
||||||
|
|
||||||
|
## Filing Issues
|
||||||
|
|
||||||
|
We use [GitHub issues](https://docs.pytest.org/en/latest/) to keep track of all issues and pull requests. Before opening an issue (which asks a question or reports a bug), it is advisable to use GitHub search to look for existing issues (both open and closed) that may be similar.
|
||||||
|
|
||||||
|
### Questions
|
||||||
|
|
||||||
|
Please don't use GitHub issues for support questions, a better place for them would be [Stack Overflow](http://stackoverflow.com). Make sure you tag them using the `python-camelot` tag.
|
||||||
|
|
||||||
|
### Bug Reports
|
||||||
|
|
||||||
|
- Please include your operating system type and Python version number, along with the version numbers of NumPy, OpenCV and Camelot. You can use the following code snippet to find this information:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
import platform; print(platform.platform())
|
||||||
|
import sys; print('Python', sys.version)
|
||||||
|
import numpy; print('NumPy', numpy.__version__)
|
||||||
|
import cv2; print('OpenCV', cv2.__version__)
|
||||||
|
import camelot; print('Camelot', camelot.__version__)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
- Please include the **complete traceback** in your bug report.
|
||||||
|
|
||||||
|
- Make sure you include **steps to reproduce the bug**, using code snippets. See [Creating and highlighting code blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
|
||||||
|
|
||||||
|
- Also include a link to the PDF document that you were trying to extract tables from, telling us what you expected the code to do and what actually happened.
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
Copyright (c) 2018 Peeply Private Ltd (Singapore)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
179
README.md
|
|
@ -1,168 +1,97 @@
|
||||||
# Camelot: PDF Table Parsing for Humans
|
# Camelot: PDF Table Parsing for Humans
|
||||||
|
|
||||||
Camelot is a Python library and command-line tool for extracting tables from PDF files.
|
 
|
||||||
|
|
||||||
## Usage
|
**Camelot** is a Python library which makes it easy for *anyone* to extract tables from PDF files!
|
||||||
|
|
||||||
### API
|
---
|
||||||
|
|
||||||
|
**Here's how you can extract tables from PDF files.** Check out the PDF used in this example, [here](docs/_static/pdf/foo.pdf).
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
>>> import camelot
|
>>> import camelot
|
||||||
>>> tables = camelot.read_pdf("foo.pdf")
|
>>> tables = camelot.read_pdf('foo.pdf', mesh=True)
|
||||||
>>> tables
|
>>> tables
|
||||||
<TableList n=2>
|
<TableList tables=1>
|
||||||
>>> tables.export("foo.csv", f="csv", compress=True) # json, excel, html
|
>>> tables.export('foo.csv', f='csv', compress=True) # json, excel, html
|
||||||
>>> tables[0]
|
>>> tables[0]
|
||||||
<Table shape=(3,4)>
|
<Table shape=(7, 7)>
|
||||||
>>> tables[0].to_csv("foo.csv") # to_json, to_excel, to_html
|
|
||||||
>>> tables[0].parsing_report
|
>>> tables[0].parsing_report
|
||||||
{
|
{
|
||||||
"accuracy": 96,
|
'accuracy': 99.02,
|
||||||
"whitespace": 80,
|
'whitespace': 12.24,
|
||||||
"order": 1,
|
'order': 1,
|
||||||
"page": 1
|
'page': 1
|
||||||
}
|
}
|
||||||
>>> df = tables[0].df
|
>>> tables[0].to_csv('foo.csv') # to_json, to_excel, to_html
|
||||||
|
>>> tables[0].df # get a pandas DataFrame!
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
### Command-line interface
|
| Cycle Name | KI (1/km) | Distance (mi) | Percent Fuel Savings | | | |
|
||||||
|
|------------|-----------|---------------|----------------------|-----------------|-----------------|----------------|
|
||||||
|
| | | | Improved Speed | Decreased Accel | Eliminate Stops | Decreased Idle |
|
||||||
|
| 2012_2 | 3.30 | 1.3 | 5.9% | 9.5% | 29.2% | 17.4% |
|
||||||
|
| 2145_1 | 0.68 | 11.2 | 2.4% | 0.1% | 9.5% | 2.7% |
|
||||||
|
| 4234_1 | 0.59 | 58.7 | 8.5% | 1.3% | 8.5% | 3.3% |
|
||||||
|
| 2032_2 | 0.17 | 57.8 | 21.7% | 0.3% | 2.7% | 1.2% |
|
||||||
|
| 4171_1 | 0.07 | 173.9 | 58.1% | 1.6% | 2.1% | 0.5% |
|
||||||
|
|
||||||
<pre>
|
There's a [command-line interface]() too!
|
||||||
Usage: camelot [OPTIONS] FILEPATH
|
|
||||||
|
|
||||||
Options:
|
## Why Camelot?
|
||||||
-p, --pages TEXT Comma-separated page numbers to parse.
|
|
||||||
Example: 1,3,4 or 1,4-end
|
|
||||||
-o, --output TEXT Output filepath.
|
|
||||||
-f, --format [csv|json|excel|html]
|
|
||||||
Output file format.
|
|
||||||
-z, --zip Whether or not to create a ZIP archive.
|
|
||||||
-m, --mesh Whether or not to use Lattice method of
|
|
||||||
parsing. Stream is used by default.
|
|
||||||
-T, --table_area TEXT Table areas (x1,y1,x2,y2) to process.
|
|
||||||
x1, y1
|
|
||||||
-> left-top and x2, y2 -> right-bottom
|
|
||||||
-split, --split_text Whether or not to split text if it spans
|
|
||||||
across multiple cells.
|
|
||||||
-flag, --flag_size (inactive) Whether or not to flag text which
|
|
||||||
has uncommon size. (Useful to detect
|
|
||||||
super/subscripts)
|
|
||||||
-M, --margins <FLOAT FLOAT FLOAT>...
|
|
||||||
char_margin, line_margin, word_margin for
|
|
||||||
PDFMiner.
|
|
||||||
-C, --columns TEXT x-coordinates of column separators.
|
|
||||||
-r, --row_close_tol INTEGER Rows will be formed by combining text
|
|
||||||
vertically within this tolerance.
|
|
||||||
-c, --col_close_tol INTEGER Columns will be formed by combining text
|
|
||||||
horizontally within this tolerance.
|
|
||||||
-back, --process_background (with --mesh) Whether or not to process
|
|
||||||
lines that are in background.
|
|
||||||
-scale, --line_size_scaling INTEGER
|
|
||||||
(with --mesh) Factor by which the page
|
|
||||||
dimensions will be divided to get smallest
|
|
||||||
length of detected lines.
|
|
||||||
-copy, --copy_text [h|v] (with --mesh) Specify direction in which
|
|
||||||
text will be copied over in a spanning cell.
|
|
||||||
-shift, --shift_text [l|r|t|b] (with --mesh) Specify direction in which
|
|
||||||
text in a spanning cell should flow.
|
|
||||||
-l, --line_close_tol INTEGER (with --mesh) Tolerance parameter used to
|
|
||||||
merge close vertical lines and close
|
|
||||||
horizontal lines.
|
|
||||||
-j, --joint_close_tol INTEGER (with --mesh) Tolerance parameter used to
|
|
||||||
decide whether the detected lines and points
|
|
||||||
lie close to each other.
|
|
||||||
-block, --threshold_blocksize INTEGER
|
|
||||||
(with --mesh) For adaptive thresholding,
|
|
||||||
size of a pixel neighborhood that is used to
|
|
||||||
calculate a threshold value for the pixel:
|
|
||||||
3, 5, 7, and so on.
|
|
||||||
-const, --threshold_constant INTEGER
|
|
||||||
(with --mesh) For adaptive thresholding,
|
|
||||||
constant subtracted from the mean or
|
|
||||||
weighted mean.
|
|
||||||
Normally, it is positive but
|
|
||||||
may be zero or negative as well.
|
|
||||||
-I, --iterations INTEGER (with --mesh) Number of times for
|
|
||||||
erosion/dilation is applied.
|
|
||||||
-G, --geometry_type [text|table|contour|joint|line]
|
|
||||||
Plot geometry found on pdf page for
|
|
||||||
debugging.
|
|
||||||
|
|
||||||
text: Plot text objects. (Useful
|
- **You are in control**: Unlike other libraries and tools which either give a nice output or fail miserably (with no in-between), Camelot gives you the power to tweak table extraction. (Since everything in the real world, including PDF table extraction, is fuzzy.)
|
||||||
to get table_area and columns coordinates)
|
- **Metrics**: *Bad* tables can be discarded based on metrics like accuracy and whitespace, without ever having to manually look at each table.
|
||||||
table: Plot parsed table.
|
- Each table is a **pandas DataFrame**, which enables seamless integration into data analysis workflows.
|
||||||
contour (with
|
- **Export** to multiple formats, including json, excel and html.
|
||||||
--mesh): Plot detected rectangles.
|
- Simple and Elegant API, written in **Python**!
|
||||||
joint
|
|
||||||
(with --mesh): Plot detected line
|
|
||||||
intersections.
|
|
||||||
line (with --mesh): Plot
|
|
||||||
detected lines.
|
|
||||||
--help Show this message and exit.
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Dependencies
|
See [comparison with other PDF parsing libraries and tools](https://github.com/socialcopsdev/camelot/wiki/Comparison-with-other-PDF-Table-Parsing-libraries-and-tools).
|
||||||
|
|
||||||
The dependencies include [tk](https://wiki.tcl.tk/3743) and [ghostscript](https://www.ghostscript.com/).
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Make sure you have the most updated versions for `pip` and `setuptools`. You can update them by
|
After [installing the dependencies](), you can simply use pip to install Camelot:
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
pip install -U pip setuptools
|
$ pip install camelot-py
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
### Installing dependencies
|
## Documentation
|
||||||
|
|
||||||
tk and ghostscript can be installed using your system's default package manager.
|
Great documentation is available at [link]().
|
||||||
|
|
||||||
#### Linux
|
|
||||||
|
|
||||||
* Ubuntu
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
sudo apt-get install python-tk ghostscript
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
* Arch Linux
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
sudo pacman -S tk ghostscript
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
#### OS X
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
brew install tcl-tk ghostscript
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
Finally, `cd` into the project directory and install by
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
python setup.py install
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
### Code
|
The [Contributor's Guide](CONTRIBUTING.md) has detailed information about contributing code, documentation, tests and more. We've included some basic information in this README.
|
||||||
|
|
||||||
You can check the latest sources with the command:
|
### Source code
|
||||||
|
|
||||||
|
You can check the latest sources with:
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
git clone https://github.com/socialcopsdev/camelot.git
|
$ git clone https://www.github.com/socialcopsdev/camelot
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
### Contributing
|
### Setting up a development environment
|
||||||
|
|
||||||
See [Contributing guidelines]().
|
You can install the development dependencies easily, using pip:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
$ pip install camelot-py[dev]
|
||||||
|
</pre>
|
||||||
|
|
||||||
### Testing
|
### Testing
|
||||||
|
|
||||||
|
After installation, you can run tests using:
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
python setup.py test
|
$ python setup.py test
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
Camelot uses [Semantic Versioning](https://semver.org/). For the available versions, see the tags on this repository.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
BSD License
|
This project is licensed under the MIT License, see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
@ -3,6 +3,7 @@ from pprint import pprint
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
from . import __version__
|
||||||
from .io import read_pdf
|
from .io import read_pdf
|
||||||
from .plotting import plot_geometry
|
from .plotting import plot_geometry
|
||||||
from .utils import validate_input, remove_extra
|
from .utils import validate_input, remove_extra
|
||||||
|
|
@ -17,6 +18,7 @@ class Mutex(click.Option):
|
||||||
|
|
||||||
|
|
||||||
@click.command()
|
@click.command()
|
||||||
|
@click.version_option(version=__version__)
|
||||||
@click.option("-p", "--pages", default="1", help="Comma-separated page numbers"
|
@click.option("-p", "--pages", default="1", help="Comma-separated page numbers"
|
||||||
" to parse. Example: 1,3,4 or 1,4-end")
|
" to parse. Example: 1,3,4 or 1,4-end")
|
||||||
@click.option("-o", "--output", help="Output filepath.")
|
@click.option("-o", "--output", help="Output filepath.")
|
||||||
|
|
@ -53,7 +55,7 @@ class Mutex(click.Option):
|
||||||
multiple=True, cls=Mutex, help="(with --mesh) Specify direction"
|
multiple=True, cls=Mutex, help="(with --mesh) Specify direction"
|
||||||
" in which text will be copied over in a spanning cell.")
|
" in which text will be copied over in a spanning cell.")
|
||||||
@click.option("-shift", "--shift_text", default=["l", "t"],
|
@click.option("-shift", "--shift_text", default=["l", "t"],
|
||||||
type=click.Choice(["l", "r", "t", "b"]), multiple=True, cls=Mutex,
|
type=click.Choice(["", "l", "r", "t", "b"]), multiple=True, cls=Mutex,
|
||||||
help="(with --mesh) Specify direction in which text in a spanning"
|
help="(with --mesh) Specify direction in which text in a spanning"
|
||||||
" cell should flow.")
|
" cell should flow.")
|
||||||
@click.option("-l", "--line_close_tol", default=2, cls=Mutex,
|
@click.option("-l", "--line_close_tol", default=2, cls=Mutex,
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,6 @@ class Cell(object):
|
||||||
Whether or not cell spans vertically.
|
Whether or not cell spans vertically.
|
||||||
text : string
|
text : string
|
||||||
Text assigned to cell.
|
Text assigned to cell.
|
||||||
bound
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -101,8 +100,7 @@ class Table(object):
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
----------
|
----------
|
||||||
df : object
|
df : :class:`pandas.DataFrame`
|
||||||
pandas.DataFrame
|
|
||||||
shape : tuple
|
shape : tuple
|
||||||
Shape of the table.
|
Shape of the table.
|
||||||
accuracy : float
|
accuracy : float
|
||||||
|
|
@ -113,8 +111,6 @@ class Table(object):
|
||||||
Table number on pdf page.
|
Table number on pdf page.
|
||||||
page : int
|
page : int
|
||||||
Pdf page number.
|
Pdf page number.
|
||||||
data
|
|
||||||
parsing_report
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def __init__(self, cols, rows):
|
def __init__(self, cols, rows):
|
||||||
|
|
@ -143,13 +139,13 @@ class Table(object):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def parsing_report(self):
|
def parsing_report(self):
|
||||||
"""Returns a parsing report with accuracy, %whitespace,
|
"""Returns a parsing report with %accuracy, %whitespace,
|
||||||
table number on page and page number.
|
table number on page and page number.
|
||||||
"""
|
"""
|
||||||
# pretty?
|
# pretty?
|
||||||
report = {
|
report = {
|
||||||
'accuracy': self.accuracy,
|
'accuracy': round(self.accuracy, 2),
|
||||||
'whitespace': self.whitespace,
|
'whitespace': round(self.whitespace, 2),
|
||||||
'order': self.order,
|
'order': self.order,
|
||||||
'page': self.page
|
'page': self.page
|
||||||
}
|
}
|
||||||
|
|
@ -317,27 +313,41 @@ class Table(object):
|
||||||
cell.vspan = True
|
cell.vspan = True
|
||||||
elif top and bottom and (not left and not right):
|
elif top and bottom and (not left and not right):
|
||||||
cell.hspan = True
|
cell.hspan = True
|
||||||
|
elif cell.bound in [0, 1]:
|
||||||
|
cell.vspan = True
|
||||||
|
cell.hspan = True
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def to_csv(self, path, **kwargs):
|
def to_csv(self, path, **kwargs):
|
||||||
"""Write Table to a comma-separated values (csv) file.
|
"""Writes Table to a comma-separated values (csv) file.
|
||||||
|
|
||||||
|
For kwargs, check :meth:`pandas.DataFrame.to_csv`.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
path : str
|
||||||
|
Output filepath.
|
||||||
|
|
||||||
Check `pandas.DataFrame.to_csv <https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html>`_
|
|
||||||
kwargs for more details around what kwargs to use.
|
|
||||||
"""
|
"""
|
||||||
kw = {
|
kw = {
|
||||||
'encoding': 'utf-8',
|
'encoding': 'utf-8',
|
||||||
'index': False,
|
'index': False,
|
||||||
|
'header': False,
|
||||||
'quoting': 1
|
'quoting': 1
|
||||||
}
|
}
|
||||||
kw.update(kwargs)
|
kw.update(kwargs)
|
||||||
self.df.to_csv(path, **kw)
|
self.df.to_csv(path, **kw)
|
||||||
|
|
||||||
def to_json(self, path, **kwargs):
|
def to_json(self, path, **kwargs):
|
||||||
"""Write Table to a JSON file.
|
"""Writes Table to a JSON file.
|
||||||
|
|
||||||
|
For kwargs, check :meth:`pandas.DataFrame.to_json`.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
path : str
|
||||||
|
Output filepath.
|
||||||
|
|
||||||
Check `pandas.DataFrame.to_json <https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html>`_
|
|
||||||
kwargs for more details around what kwargs to use.
|
|
||||||
"""
|
"""
|
||||||
kw = {
|
kw = {
|
||||||
'orient': 'records'
|
'orient': 'records'
|
||||||
|
|
@ -348,10 +358,15 @@ class Table(object):
|
||||||
f.write(json_string)
|
f.write(json_string)
|
||||||
|
|
||||||
def to_excel(self, path, **kwargs):
|
def to_excel(self, path, **kwargs):
|
||||||
"""Write Table to an Excel file.
|
"""Writes Table to an Excel file.
|
||||||
|
|
||||||
|
For kwargs, check :meth:`pandas.DataFrame.to_excel`.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
path : str
|
||||||
|
Output filepath.
|
||||||
|
|
||||||
Check `pandas.DataFrame.to_excel <https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html>`_
|
|
||||||
kwargs for more details around what kwargs to use.
|
|
||||||
"""
|
"""
|
||||||
kw = {
|
kw = {
|
||||||
'sheet_name': 'page-{}-table-{}'.format(self.page, self.order),
|
'sheet_name': 'page-{}-table-{}'.format(self.page, self.order),
|
||||||
|
|
@ -363,10 +378,15 @@ class Table(object):
|
||||||
writer.save()
|
writer.save()
|
||||||
|
|
||||||
def to_html(self, path, **kwargs):
|
def to_html(self, path, **kwargs):
|
||||||
"""Write Table to an HTML file.
|
"""Writes Table to an HTML file.
|
||||||
|
|
||||||
|
For kwargs, check :meth:`pandas.DataFrame.to_html`.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
path : str
|
||||||
|
Output filepath.
|
||||||
|
|
||||||
Check `pandas.DataFrame.to_html <https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_html.html>`_
|
|
||||||
kwargs for more details around what kwargs to use.
|
|
||||||
"""
|
"""
|
||||||
html_string = self.df.to_html(**kwargs)
|
html_string = self.df.to_html(**kwargs)
|
||||||
with open(path, 'w') as f:
|
with open(path, 'w') as f:
|
||||||
|
|
@ -434,7 +454,7 @@ class TableList(object):
|
||||||
Parameters
|
Parameters
|
||||||
----------
|
----------
|
||||||
path : str
|
path : str
|
||||||
Filepath
|
Output filepath.
|
||||||
f : str
|
f : str
|
||||||
File format. Can be csv, json, excel and html.
|
File format. Can be csv, json, excel and html.
|
||||||
compress : bool
|
compress : bool
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ class PDFHandler(object):
|
||||||
file into single page pdfs, parsing each pdf and then removing the
|
file into single page pdfs, parsing each pdf and then removing the
|
||||||
temp directory.
|
temp directory.
|
||||||
|
|
||||||
Parameter
|
Parameters
|
||||||
---------
|
----------
|
||||||
filename : str
|
filename : str
|
||||||
Path to pdf file.
|
Path to pdf file.
|
||||||
pages : str
|
pages : str
|
||||||
|
|
@ -81,6 +81,8 @@ class PDFHandler(object):
|
||||||
"""
|
"""
|
||||||
with open(filename, 'rb') as fileobj:
|
with open(filename, 'rb') as fileobj:
|
||||||
infile = PdfFileReader(fileobj, strict=False)
|
infile = PdfFileReader(fileobj, strict=False)
|
||||||
|
if infile.isEncrypted:
|
||||||
|
infile.decrypt('')
|
||||||
fpath = os.path.join(temp, 'page-{0}.pdf'.format(page))
|
fpath = os.path.join(temp, 'page-{0}.pdf'.format(page))
|
||||||
froot, fext = os.path.splitext(fpath)
|
froot, fext = os.path.splitext(fpath)
|
||||||
p = infile.getPage(page - 1)
|
p = infile.getPage(page - 1)
|
||||||
|
|
@ -98,6 +100,8 @@ class PDFHandler(object):
|
||||||
fpath_new = ''.join([froot.replace('page', 'p'), '_rotated', fext])
|
fpath_new = ''.join([froot.replace('page', 'p'), '_rotated', fext])
|
||||||
os.rename(fpath, fpath_new)
|
os.rename(fpath, fpath_new)
|
||||||
infile = PdfFileReader(open(fpath_new, 'rb'), strict=False)
|
infile = PdfFileReader(open(fpath_new, 'rb'), strict=False)
|
||||||
|
if infile.isEncrypted:
|
||||||
|
infile.decrypt('')
|
||||||
outfile = PdfFileWriter()
|
outfile = PdfFileWriter()
|
||||||
p = infile.getPage(0)
|
p = infile.getPage(0)
|
||||||
if rotation == 'anticlockwise':
|
if rotation == 'anticlockwise':
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ def read_pdf(filepath, pages='1', mesh=False, **kwargs):
|
||||||
multiple cells.
|
multiple cells.
|
||||||
flag_size : bool, optional (default: False)
|
flag_size : bool, optional (default: False)
|
||||||
Whether or not to highlight a substring using <s></s>
|
Whether or not to highlight a substring using <s></s>
|
||||||
if its size is different from rest of the string, useful for
|
if its size is different from rest of the string. (Useful for
|
||||||
super and subscripts.
|
super and subscripts)
|
||||||
row_close_tol^ : int, optional (default: 2)
|
row_close_tol^ : int, optional (default: 2)
|
||||||
Rows will be formed by combining text vertically
|
Rows will be formed by combining text vertically
|
||||||
within this tolerance.
|
within this tolerance.
|
||||||
|
|
@ -61,24 +61,24 @@ def read_pdf(filepath, pages='1', mesh=False, **kwargs):
|
||||||
joint_close_tol* : int, optional (default: 2)
|
joint_close_tol* : int, optional (default: 2)
|
||||||
Tolerance parameter used to decide whether the detected lines
|
Tolerance parameter used to decide whether the detected lines
|
||||||
and points lie close to each other.
|
and points lie close to each other.
|
||||||
threshold_blocksize : int, optional (default: 15)
|
threshold_blocksize* : int, optional (default: 15)
|
||||||
Size of a pixel neighborhood that is used to calculate a
|
Size of a pixel neighborhood that is used to calculate a
|
||||||
threshold value for the pixel: 3, 5, 7, and so on.
|
threshold value for the pixel: 3, 5, 7, and so on.
|
||||||
|
|
||||||
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
||||||
threshold_constant : int, optional (default: -2)
|
threshold_constant* : int, optional (default: -2)
|
||||||
Constant subtracted from the mean or weighted mean.
|
Constant subtracted from the mean or weighted mean.
|
||||||
Normally, it is positive but may be zero or negative as well.
|
Normally, it is positive but may be zero or negative as well.
|
||||||
|
|
||||||
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
||||||
iterations : int, optional (default: 0)
|
iterations* : int, optional (default: 0)
|
||||||
Number of times for erosion/dilation is applied.
|
Number of times for erosion/dilation is applied.
|
||||||
|
|
||||||
For more information, refer `OpenCV's dilate <https://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html#dilate>`_.
|
For more information, refer `OpenCV's dilate <https://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html#dilate>`_.
|
||||||
margins : tuple
|
margins : tuple
|
||||||
PDFMiner margins. (char_margin, line_margin, word_margin)
|
PDFMiner margins. (char_margin, line_margin, word_margin)
|
||||||
|
|
||||||
For for information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
For more information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
||||||
|
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,8 @@ class Lattice(BaseParser):
|
||||||
multiple cells.
|
multiple cells.
|
||||||
flag_size : bool, optional (default: False)
|
flag_size : bool, optional (default: False)
|
||||||
Whether or not to highlight a substring using <s></s>
|
Whether or not to highlight a substring using <s></s>
|
||||||
if its size is different from rest of the string, useful for
|
if its size is different from rest of the string. (Useful for
|
||||||
super and subscripts.
|
super and subscripts)
|
||||||
line_close_tol : int, optional (default: 2)
|
line_close_tol : int, optional (default: 2)
|
||||||
Tolerance parameter used to merge vertical and horizontal
|
Tolerance parameter used to merge vertical and horizontal
|
||||||
detected lines which lie close to each other.
|
detected lines which lie close to each other.
|
||||||
|
|
@ -76,7 +76,7 @@ class Lattice(BaseParser):
|
||||||
margins : tuple
|
margins : tuple
|
||||||
PDFMiner margins. (char_margin, line_margin, word_margin)
|
PDFMiner margins. (char_margin, line_margin, word_margin)
|
||||||
|
|
||||||
For for information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
For more information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
||||||
debug : bool, optional (default: False)
|
debug : bool, optional (default: False)
|
||||||
Whether or not to return all text objects on the page
|
Whether or not to return all text objects on the page
|
||||||
which can be used to generate a matplotlib plot, to get
|
which can be used to generate a matplotlib plot, to get
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@ class Stream(BaseParser):
|
||||||
multiple cells.
|
multiple cells.
|
||||||
flag_size : bool, optional (default: False)
|
flag_size : bool, optional (default: False)
|
||||||
Whether or not to highlight a substring using <s></s>
|
Whether or not to highlight a substring using <s></s>
|
||||||
if its size is different from rest of the string, useful for
|
if its size is different from rest of the string. (Useful for
|
||||||
super and subscripts.
|
super and subscripts)
|
||||||
row_close_tol : int, optional (default: 2)
|
row_close_tol : int, optional (default: 2)
|
||||||
Rows will be formed by combining text vertically
|
Rows will be formed by combining text vertically
|
||||||
within this tolerance.
|
within this tolerance.
|
||||||
|
|
@ -46,7 +46,7 @@ class Stream(BaseParser):
|
||||||
margins : tuple, optional (default: (1.0, 0.5, 0.1))
|
margins : tuple, optional (default: (1.0, 0.5, 0.1))
|
||||||
PDFMiner margins. (char_margin, line_margin, word_margin)
|
PDFMiner margins. (char_margin, line_margin, word_margin)
|
||||||
|
|
||||||
For for information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
For more information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
||||||
debug : bool, optional (default: False)
|
debug : bool, optional (default: False)
|
||||||
Whether or not to return all text objects on the page
|
Whether or not to return all text objects on the page
|
||||||
which can be used to generate a matplotlib plot, to get
|
which can be used to generate a matplotlib plot, to get
|
||||||
|
|
@ -294,8 +294,7 @@ class Stream(BaseParser):
|
||||||
if ncols == 1:
|
if ncols == 1:
|
||||||
logger.info("No tables found on {}".format(
|
logger.info("No tables found on {}".format(
|
||||||
os.path.basename(self.rootname)))
|
os.path.basename(self.rootname)))
|
||||||
cols = [(t.x0, t.x1)
|
cols = [(t.x0, t.x1) for r in rows_grouped if len(r) == ncols for t in r]
|
||||||
for r in rows_grouped if len(r) == ncols for t in r]
|
|
||||||
cols = self._merge_columns(sorted(cols), col_close_tol=self.col_close_tol)
|
cols = self._merge_columns(sorted(cols), col_close_tol=self.col_close_tol)
|
||||||
inner_text = []
|
inner_text = []
|
||||||
for i in range(1, len(cols)):
|
for i in range(1, len(cols)):
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,12 @@ def plot_geometry(filepath, pages='1', mesh=False, geometry_type=None, **kwargs)
|
||||||
Whether or not to use Lattice method of parsing. Stream
|
Whether or not to use Lattice method of parsing. Stream
|
||||||
is used by default.
|
is used by default.
|
||||||
geometry_type : str, optional (default: None)
|
geometry_type : str, optional (default: None)
|
||||||
'text' : Plot text objects found on page, useful to get
|
* 'text' : Plot text objects found on page. (Useful to get \
|
||||||
table_area and columns coordinates.
|
table_area and columns coordinates)
|
||||||
'table' : Plot parsed table.
|
* 'table' : Plot parsed table.
|
||||||
'contour'* : Plot detected rectangles.
|
* 'contour'* : Plot detected rectangles.
|
||||||
'joint'* : Plot detected line intersections.
|
* 'joint'* : Plot detected line intersections.
|
||||||
'line'* : Plot detected lines.
|
* 'line'* : Plot detected lines.
|
||||||
table_area : list, optional (default: None)
|
table_area : list, optional (default: None)
|
||||||
List of table areas to process as strings of the form
|
List of table areas to process as strings of the form
|
||||||
x1,y1,x2,y2 where (x1, y1) -> left-top and
|
x1,y1,x2,y2 where (x1, y1) -> left-top and
|
||||||
|
|
@ -43,8 +43,8 @@ def plot_geometry(filepath, pages='1', mesh=False, geometry_type=None, **kwargs)
|
||||||
multiple cells.
|
multiple cells.
|
||||||
flag_size : bool, optional (default: False)
|
flag_size : bool, optional (default: False)
|
||||||
Whether or not to highlight a substring using <s></s>
|
Whether or not to highlight a substring using <s></s>
|
||||||
if its size is different from rest of the string, useful for
|
if its size is different from rest of the string. (Useful for
|
||||||
super and subscripts.
|
super and subscripts.)
|
||||||
row_close_tol^ : int, optional (default: 2)
|
row_close_tol^ : int, optional (default: 2)
|
||||||
Rows will be formed by combining text vertically
|
Rows will be formed by combining text vertically
|
||||||
within this tolerance.
|
within this tolerance.
|
||||||
|
|
@ -74,24 +74,24 @@ def plot_geometry(filepath, pages='1', mesh=False, geometry_type=None, **kwargs)
|
||||||
joint_close_tol* : int, optional (default: 2)
|
joint_close_tol* : int, optional (default: 2)
|
||||||
Tolerance parameter used to decide whether the detected lines
|
Tolerance parameter used to decide whether the detected lines
|
||||||
and points lie close to each other.
|
and points lie close to each other.
|
||||||
threshold_blocksize : int, optional (default: 15)
|
threshold_blocksize* : int, optional (default: 15)
|
||||||
Size of a pixel neighborhood that is used to calculate a
|
Size of a pixel neighborhood that is used to calculate a
|
||||||
threshold value for the pixel: 3, 5, 7, and so on.
|
threshold value for the pixel: 3, 5, 7, and so on.
|
||||||
|
|
||||||
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
||||||
threshold_constant : int, optional (default: -2)
|
threshold_constant* : int, optional (default: -2)
|
||||||
Constant subtracted from the mean or weighted mean.
|
Constant subtracted from the mean or weighted mean.
|
||||||
Normally, it is positive but may be zero or negative as well.
|
Normally, it is positive but may be zero or negative as well.
|
||||||
|
|
||||||
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
For more information, refer `OpenCV's adaptiveThreshold <https://docs.opencv.org/2.4/modules/imgproc/doc/miscellaneous_transformations.html#adaptivethreshold>`_.
|
||||||
iterations : int, optional (default: 0)
|
iterations* : int, optional (default: 0)
|
||||||
Number of times for erosion/dilation is applied.
|
Number of times for erosion/dilation is applied.
|
||||||
|
|
||||||
For more information, refer `OpenCV's dilate <https://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html#dilate>`_.
|
For more information, refer `OpenCV's dilate <https://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html#dilate>`_.
|
||||||
margins : tuple
|
margins : tuple
|
||||||
PDFMiner margins. (char_margin, line_margin, word_margin)
|
PDFMiner margins. (char_margin, line_margin, word_margin)
|
||||||
|
|
||||||
For for information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
For more information, refer `PDFMiner docs <https://euske.github.io/pdfminer/>`_.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
validate_input(kwargs, mesh=mesh, geometry_type=geometry_type)
|
validate_input(kwargs, mesh=mesh, geometry_type=geometry_type)
|
||||||
|
|
@ -141,7 +141,7 @@ def plot_geometry(filepath, pages='1', mesh=False, geometry_type=None, **kwargs)
|
||||||
for img, table_bbox in geometry.images:
|
for img, table_bbox in geometry.images:
|
||||||
for t in table_bbox.keys():
|
for t in table_bbox.keys():
|
||||||
cv2.rectangle(img, (t[0], t[1]),
|
cv2.rectangle(img, (t[0], t[1]),
|
||||||
(t[2], t[3]), (255, 0, 0), 3)
|
(t[2], t[3]), (255, 0, 0), 20)
|
||||||
plt.imshow(img)
|
plt.imshow(img)
|
||||||
plt.show()
|
plt.show()
|
||||||
elif geometry_type == 'joint':
|
elif geometry_type == 'joint':
|
||||||
|
|
|
||||||
|
|
@ -454,8 +454,8 @@ def split_textline(table, textline, direction, flag_size=False):
|
||||||
Direction of the PDFMiner LTTextLine object.
|
Direction of the PDFMiner LTTextLine object.
|
||||||
flag_size : bool, optional (default: False)
|
flag_size : bool, optional (default: False)
|
||||||
Whether or not to highlight a substring using <s></s>
|
Whether or not to highlight a substring using <s></s>
|
||||||
if its size is different from rest of the string, useful for
|
if its size is different from rest of the string. (Useful for
|
||||||
super and subscripts.
|
super and subscripts.)
|
||||||
|
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
|
|
@ -530,8 +530,8 @@ def get_table_index(table, t, direction, split_text=False, flag_size=False):
|
||||||
multiple cells.
|
multiple cells.
|
||||||
flag_size : bool, optional (default: False)
|
flag_size : bool, optional (default: False)
|
||||||
Whether or not to highlight a substring using <s></s>
|
Whether or not to highlight a substring using <s></s>
|
||||||
if its size is different from rest of the string, useful for
|
if its size is different from rest of the string. (Useful for
|
||||||
super and subscripts.
|
super and subscripts)
|
||||||
|
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 505 KiB After Width: | Height: | Size: 505 KiB |
|
|
@ -0,0 +1,8 @@
|
||||||
|
"State","Date","Halt stations","Halt days","Persons directly reached(in lakh)","Persons trained","Persons counseled","Persons testedfor HIV"
|
||||||
|
"Delhi","1.12.2009","8","17","1.29","3,665","2,409","1,000"
|
||||||
|
"Rajasthan","2.12.2009 to 19.12.2009","","","","","",""
|
||||||
|
"Gujarat","20.12.2009 to 3.1.2010","6","13","6.03","3,810","2,317","1,453"
|
||||||
|
"Maharashtra","4.01.2010 to 1.2.2010","13","26","1.27","5,680","9,027","4,153"
|
||||||
|
"Karnataka","2.2.2010 to 22.2.2010","11","19","1.80","5,741","3,658","3,183"
|
||||||
|
"Kerala","23.2.2010 to 11.3.2010","9","17","1.42","3,559","2,173","855"
|
||||||
|
"Total","","47","92","11.81","22,455","19,584","10,644"
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
"Cycle Name","KI (1/km)","Distance (mi)","Percent Fuel Savings","","",""
|
||||||
|
"","","","Improved Speed","Decreased Accel","Eliminate Stops","Decreased Idle"
|
||||||
|
"2012_2","3.30","1.3","5.9%","9.5%","29.2%","17.4%"
|
||||||
|
"2145_1","0.68","11.2","2.4%","0.1%","9.5%","2.7%"
|
||||||
|
"4234_1","0.59","58.7","8.5%","1.3%","8.5%","3.3%"
|
||||||
|
"2032_2","0.17","57.8","21.7%","0.3%","2.7%","1.2%"
|
||||||
|
"4171_1","0.07","173.9","58.1%","1.6%","2.1%","0.5%"
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
"","One Withholding"
|
||||||
|
"Payroll Period","Allowance"
|
||||||
|
"Weekly","$71.15"
|
||||||
|
"Biweekly","142.31"
|
||||||
|
"Semimonthly","154.17"
|
||||||
|
"Monthly","308.33"
|
||||||
|
"Quarterly","925.00"
|
||||||
|
"Semiannually","1,850.00"
|
||||||
|
"Annually","3,700.00"
|
||||||
|
"Daily or Miscellaneous","14.23"
|
||||||
|
"(each day of the payroll period)",""
|
||||||
|
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
|
|
@ -0,0 +1,16 @@
|
||||||
|
<style type="text/css">
|
||||||
|
div.section h1 {font-size: 225%;}
|
||||||
|
/* "Quick Search" should be capitalized. */
|
||||||
|
div#searchbox h3 {text-transform: capitalize;}
|
||||||
|
/* Make the document a little wider, less code is cut-off. */
|
||||||
|
div.document {width: 1008px;}
|
||||||
|
/* Much-improved spacing around code blocks. */
|
||||||
|
div.highlight pre {padding: 11px 14px;}
|
||||||
|
/* Remain Responsive! */
|
||||||
|
@media screen and (max-width: 1008px) {
|
||||||
|
div.sphinxsidebar {display: none;}
|
||||||
|
div.document {width: 100%!important;}
|
||||||
|
/* Have code blocks escape the document right-margin. */
|
||||||
|
div.highlight pre {margin-right: -30px;}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
<p class="logo">
|
||||||
|
<a href="{{ pathto(master_doc) }}">
|
||||||
|
<img class="logo" src="{{ pathto('_static/camelot.png', 1) }}"/>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<iframe src="https://ghbtns.com/github-btn.html?user=socialcopsdev&repo=camelot&type=watch&count=true&size=large"
|
||||||
|
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Useful Links</h3>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://github.com/socialcopsdev/camelot">Camelot @ GitHub</a></li>
|
||||||
|
<li><a href="https://pypi.org/project/camelot-py/">Camelot @ PyPI</a></li>
|
||||||
|
<li><a href="https://github.com/socialcopsdev/camelot/issues">Issue Tracker</a></li>
|
||||||
|
</ul>
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<p class="logo">
|
||||||
|
<a href="{{ pathto(master_doc) }}">
|
||||||
|
<img class="logo" src="{{ pathto('_static/camelot.png', 1) }}"/>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<iframe src="https://ghbtns.com/github-btn.html?user=socialcopsdev&repo=camelot&type=watch&count=true&size=large"
|
||||||
|
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
|
||||||
|
</p>
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
*.pyc
|
||||||
|
*.pyo
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
Copyright (c) 2010 by Armin Ronacher.
|
||||||
|
|
||||||
|
Some rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms of the theme, with or
|
||||||
|
without modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above
|
||||||
|
copyright notice, this list of conditions and the following
|
||||||
|
disclaimer in the documentation and/or other materials provided
|
||||||
|
with the distribution.
|
||||||
|
|
||||||
|
* The names of the contributors may not be used to endorse or
|
||||||
|
promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
We kindly ask you to only use these themes in an unmodified manner just
|
||||||
|
for Flask and Flask-related products, not for unrelated projects. If you
|
||||||
|
like the visual style and want to use it for your own projects, please
|
||||||
|
consider making some larger changes to the themes (such as changing
|
||||||
|
font faces, sizes, colors or margins).
|
||||||
|
|
||||||
|
THIS THEME IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS THEME, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
# flasky pygments style based on tango style
|
||||||
|
from pygments.style import Style
|
||||||
|
from pygments.token import Keyword, Name, Comment, String, Error, \
|
||||||
|
Number, Operator, Generic, Whitespace, Punctuation, Other, Literal
|
||||||
|
|
||||||
|
|
||||||
|
class FlaskyStyle(Style):
|
||||||
|
background_color = "#f8f8f8"
|
||||||
|
default_style = ""
|
||||||
|
|
||||||
|
styles = {
|
||||||
|
# No corresponding class for the following:
|
||||||
|
#Text: "", # class: ''
|
||||||
|
Whitespace: "underline #f8f8f8", # class: 'w'
|
||||||
|
Error: "#a40000 border:#ef2929", # class: 'err'
|
||||||
|
Other: "#000000", # class 'x'
|
||||||
|
|
||||||
|
Comment: "italic #8f5902", # class: 'c'
|
||||||
|
Comment.Preproc: "noitalic", # class: 'cp'
|
||||||
|
|
||||||
|
Keyword: "bold #004461", # class: 'k'
|
||||||
|
Keyword.Constant: "bold #004461", # class: 'kc'
|
||||||
|
Keyword.Declaration: "bold #004461", # class: 'kd'
|
||||||
|
Keyword.Namespace: "bold #004461", # class: 'kn'
|
||||||
|
Keyword.Pseudo: "bold #004461", # class: 'kp'
|
||||||
|
Keyword.Reserved: "bold #004461", # class: 'kr'
|
||||||
|
Keyword.Type: "bold #004461", # class: 'kt'
|
||||||
|
|
||||||
|
Operator: "#582800", # class: 'o'
|
||||||
|
Operator.Word: "bold #004461", # class: 'ow' - like keywords
|
||||||
|
|
||||||
|
Punctuation: "bold #000000", # class: 'p'
|
||||||
|
|
||||||
|
# because special names such as Name.Class, Name.Function, etc.
|
||||||
|
# are not recognized as such later in the parsing, we choose them
|
||||||
|
# to look the same as ordinary variables.
|
||||||
|
Name: "#000000", # class: 'n'
|
||||||
|
Name.Attribute: "#c4a000", # class: 'na' - to be revised
|
||||||
|
Name.Builtin: "#004461", # class: 'nb'
|
||||||
|
Name.Builtin.Pseudo: "#3465a4", # class: 'bp'
|
||||||
|
Name.Class: "#000000", # class: 'nc' - to be revised
|
||||||
|
Name.Constant: "#000000", # class: 'no' - to be revised
|
||||||
|
Name.Decorator: "#888", # class: 'nd' - to be revised
|
||||||
|
Name.Entity: "#ce5c00", # class: 'ni'
|
||||||
|
Name.Exception: "bold #cc0000", # class: 'ne'
|
||||||
|
Name.Function: "#000000", # class: 'nf'
|
||||||
|
Name.Property: "#000000", # class: 'py'
|
||||||
|
Name.Label: "#f57900", # class: 'nl'
|
||||||
|
Name.Namespace: "#000000", # class: 'nn' - to be revised
|
||||||
|
Name.Other: "#000000", # class: 'nx'
|
||||||
|
Name.Tag: "bold #004461", # class: 'nt' - like a keyword
|
||||||
|
Name.Variable: "#000000", # class: 'nv' - to be revised
|
||||||
|
Name.Variable.Class: "#000000", # class: 'vc' - to be revised
|
||||||
|
Name.Variable.Global: "#000000", # class: 'vg' - to be revised
|
||||||
|
Name.Variable.Instance: "#000000", # class: 'vi' - to be revised
|
||||||
|
|
||||||
|
Number: "#990000", # class: 'm'
|
||||||
|
|
||||||
|
Literal: "#000000", # class: 'l'
|
||||||
|
Literal.Date: "#000000", # class: 'ld'
|
||||||
|
|
||||||
|
String: "#4e9a06", # class: 's'
|
||||||
|
String.Backtick: "#4e9a06", # class: 'sb'
|
||||||
|
String.Char: "#4e9a06", # class: 'sc'
|
||||||
|
String.Doc: "italic #8f5902", # class: 'sd' - like a comment
|
||||||
|
String.Double: "#4e9a06", # class: 's2'
|
||||||
|
String.Escape: "#4e9a06", # class: 'se'
|
||||||
|
String.Heredoc: "#4e9a06", # class: 'sh'
|
||||||
|
String.Interpol: "#4e9a06", # class: 'si'
|
||||||
|
String.Other: "#4e9a06", # class: 'sx'
|
||||||
|
String.Regex: "#4e9a06", # class: 'sr'
|
||||||
|
String.Single: "#4e9a06", # class: 's1'
|
||||||
|
String.Symbol: "#4e9a06", # class: 'ss'
|
||||||
|
|
||||||
|
Generic: "#000000", # class: 'g'
|
||||||
|
Generic.Deleted: "#a40000", # class: 'gd'
|
||||||
|
Generic.Emph: "italic #000000", # class: 'ge'
|
||||||
|
Generic.Error: "#ef2929", # class: 'gr'
|
||||||
|
Generic.Heading: "bold #000080", # class: 'gh'
|
||||||
|
Generic.Inserted: "#00A000", # class: 'gi'
|
||||||
|
Generic.Output: "#888", # class: 'go'
|
||||||
|
Generic.Prompt: "#745334", # class: 'gp'
|
||||||
|
Generic.Strong: "bold #000000", # class: 'gs'
|
||||||
|
Generic.Subheading: "bold #800080", # class: 'gu'
|
||||||
|
Generic.Traceback: "bold #a40000", # class: 'gt'
|
||||||
|
}
|
||||||
52
docs/api.rst
|
|
@ -1,40 +1,34 @@
|
||||||
.. _api:
|
.. _api:
|
||||||
|
|
||||||
=============
|
|
||||||
API Reference
|
API Reference
|
||||||
=============
|
=============
|
||||||
|
|
||||||
camelot.read_pdf
|
.. module:: camelot
|
||||||
================
|
|
||||||
.. automodule:: camelot.read_pdf
|
|
||||||
:members:
|
|
||||||
|
|
||||||
camelot.handlers.PDFHandler
|
Main Interface
|
||||||
===========================
|
--------------
|
||||||
.. automodule:: camelot.handlers.PDFHandler
|
.. autofunction:: camelot.read_pdf
|
||||||
:members:
|
.. autofunction:: camelot.plot_geometry
|
||||||
|
|
||||||
camelot.parsers.Stream
|
Lower-Level Classes
|
||||||
======================
|
-------------------
|
||||||
.. automodule:: camelot.parsers.Stream
|
|
||||||
:members:
|
|
||||||
|
|
||||||
camelot.parsers.Lattice
|
.. autoclass:: camelot.handlers.PDFHandler
|
||||||
=======================
|
:inherited-members:
|
||||||
.. automodule:: camelot.parsers.Lattice
|
|
||||||
:members:
|
|
||||||
|
|
||||||
camelot.core.Cell
|
.. autoclass:: camelot.parsers.Stream
|
||||||
=================
|
:inherited-members:
|
||||||
.. automodule:: camelot.core.Cell
|
|
||||||
:members:
|
|
||||||
|
|
||||||
camelot.core.Table
|
.. autoclass:: camelot.parsers.Lattice
|
||||||
==================
|
:inherited-members:
|
||||||
.. automodule:: camelot.core.Table
|
|
||||||
:members:
|
|
||||||
|
|
||||||
camelot.core.TableList
|
Lower-Lower-Level Classes
|
||||||
======================
|
-------------------------
|
||||||
.. automodule:: camelot.core.TableList
|
|
||||||
:members:
|
.. autoclass:: camelot.core.TableList
|
||||||
|
:inherited-members:
|
||||||
|
|
||||||
|
.. autoclass:: camelot.core.Table
|
||||||
|
:inherited-members:
|
||||||
|
|
||||||
|
.. autoclass:: camelot.core.Cell
|
||||||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
|
@ -0,0 +1,33 @@
|
||||||
|
"Sl.No.","District","(In lakhs)for 2012-13Projected Population","Adult (In lakhs)Equivalent to 88%","requirement(In Lakh tonnes)Total Consumption(@ 400gms/adult/day)","(In Lakh tonnes)(Including seeds, feeds & wastage)Total Requirement","Production (Rice)(In Lakh tonnes)","","","Surplus/Defi cit(In Lakh tonnes)",""
|
||||||
|
"","","","","","","Kharif","Rabi","Total","Rice","Paddy"
|
||||||
|
"1","Balasore","23.65","20.81","3.04","3.47","2.78","0.86","3.64","0.17","0.25"
|
||||||
|
"2","Bhadrak","15.34","13.50","1.97","2.25","3.50","0.05","3.55","1.30","1.94"
|
||||||
|
"3","Balangir","17.01","14.97","2.19","2.50","6.23","0.10","6.33","3.83","5.72"
|
||||||
|
"4","Subarnapur","6.70","5.90","0.86","0.98","4.48","1.13","5.61","4.63","6.91"
|
||||||
|
"5","Cuttack","26.63","23.43","3.42","3.91","3.75","0.06","3.81","-0.10","-0.15"
|
||||||
|
"6","Jagatsingpur","11.49","10.11","1.48","1.69","2.10","0.02","2.12","0.43","0.64"
|
||||||
|
"7","Jajpur","18.59","16.36","2.39","2.73","2.13","0.04","2.17","-0.56","-0.84"
|
||||||
|
"8","Kendrapara","14.62","12.87","1.88","2.15","2.60","0.07","2.67","0.52","0.78"
|
||||||
|
"9","Dhenkanal","12.13","10.67","1.56","1.78","2.26","0.02","2.28","0.50","0.75"
|
||||||
|
"10","Angul","12.93","11.38","1.66","1.90","1.73","0.02","1.75","-0.15","-0.22"
|
||||||
|
"11","Ganjam","35.77","31.48","4.60","5.26","4.57","0.00","4.57","-0.69","-1.03"
|
||||||
|
"12","Gajapati","5.85","5.15","0.75","0.86","0.68","0.01","0.69","-0.17","-0.25"
|
||||||
|
"13","Kalahandi","16.12","14.19","2.07","2.37","5.42","1.13","6.55","4.18","6.24"
|
||||||
|
"14","Nuapada","6.18","5.44","0.79","0.90","1.98","0.08","2.06","1.16","1.73"
|
||||||
|
"15","Keonjhar","18.42","16.21","2.37","2.71","2.76","0.08","2.84","0.13","0.19"
|
||||||
|
"16","Koraput","14.09","12.40","1.81","2.07","2.08","0.34","2.42","0.35","0.52"
|
||||||
|
"17","Malkangiri","6.31","5.55","0.81","0.93","1.78","0.04","1.82","0.89","1.33"
|
||||||
|
"18","Nabarangpur","12.50","11.00","1.61","1.84","3.26","0.02","3.28","1.44","2.15"
|
||||||
|
"19","Rayagada","9.83","8.65","1.26","1.44","1.15","0.03","1.18","-0.26","-0.39"
|
||||||
|
"20","Mayurbhanj","25.61","22.54","3.29","3.76","4.90","0.06","4.96","1.20","1.79"
|
||||||
|
"21","Kandhamal","7.45","6.56","0.96","1.10","0.70","0.01","0.71","-0.39","-0.58"
|
||||||
|
"22","Boudh","4.51","3.97","0.58","0.66","1.73","0.03","1.76","1.10","1.64"
|
||||||
|
"23","Puri","17.29","15.22","2.22","2.54","2.45","0.99","3.44","0.90","1.34"
|
||||||
|
"24","Khordha","23.08","20.31","2.97","3.39","2.02","0.03","2.05","-1.34","-2.00"
|
||||||
|
"25","Nayagarh","9.78","8.61","1.26","1.44","2.10","0.00","2.10","0.66","0.99"
|
||||||
|
"26","Sambalpur","10.62","9.35","1.37","1.57","3.45","0.71","4.16","2.59","3.87"
|
||||||
|
"27","Bargarh","15.00","13.20","1.93","2.21","6.87","2.65","9.52","7.31","10.91"
|
||||||
|
"28","Deogarh","3.18","2.80","0.41","0.47","1.12","0.07","1.19","0.72","1.07"
|
||||||
|
"29","Jharsuguda","5.91","5.20","0.76","0.87","0.99","0.01","1.00","0.13","0.19"
|
||||||
|
"30","Sundargarh","21.21","18.66","2.72","3.11","4.72","0.02","4.74","1.63","2.43"
|
||||||
|
"ODISHA","","427.80","376.49","54.99","62.86","86.29","8.68","94.97","32.11","47.92"
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
"Sl.
No.",District,,,,,"Production (Rice)
(In Lakh tonnes)","Surplus/Defi cit
(In Lakh
tonnes)",,,
|
||||||
|
"",,,,,,,,,,
|
||||||
|
1,Balasore,23.65,20.81,3.04,3.47,2.78,0.86,3.64,0.17,0.25
|
||||||
|
2,Bhadrak,15.34,13.50,1.97,2.25,3.50,0.05,3.55,1.30,1.94
|
||||||
|
3,Balangir,17.01,14.97,2.19,2.50,6.23,0.10,6.33,3.83,5.72
|
||||||
|
4,Subarnapur,6.70,5.90,0.86,0.98,4.48,1.13,5.61,4.63,6.91
|
||||||
|
5,Cuttack,26.63,23.43,3.42,3.91,3.75,0.06,3.81,-0.10,-0.15
|
||||||
|
6,Jagatsingpur,11.49,10.11,1.48,1.69,2.10,0.02,2.12,0.43,0.64
|
||||||
|
7,Jajpur,18.59,16.36,2.39,2.73,2.13,0.04,2.17,-0.56,-0.84
|
||||||
|
8,Kendrapara,14.62,12.87,1.88,2.15,2.60,0.07,2.67,0.52,0.78
|
||||||
|
9,Dhenkanal,12.13,10.67,1.56,1.78,2.26,0.02,2.28,0.50,0.75
|
||||||
|
10,Angul,12.93,11.38,1.66,1.90,1.73,0.02,1.75,-0.15,-0.22
|
||||||
|
11,Ganjam,35.77,31.48,4.60,5.26,4.57,0.00,4.57,-0.69,-1.03
|
||||||
|
12,Gajapati,5.85,5.15,0.75,0.86,0.68,0.01,0.69,-0.17,-0.25
|
||||||
|
13,Kalahandi,16.12,14.19,2.07,2.37,5.42,1.13,6.55,4.18,6.24
|
||||||
|
14,Nuapada,6.18,5.44,0.79,0.90,1.98,0.08,2.06,1.16,1.73
|
||||||
|
15,Keonjhar,18.42,16.21,2.37,2.71,2.76,0.08,2.84,0.13,0.19
|
||||||
|
16,Koraput,14.09,12.40,1.81,2.07,2.08,0.34,2.42,0.35,0.52
|
||||||
|
17,Malkangiri,6.31,5.55,0.81,0.93,1.78,0.04,1.82,0.89,1.33
|
||||||
|
18,Nabarangpur,12.50,11.00,1.61,1.84,3.26,0.02,3.28,1.44,2.15
|
||||||
|
19,Rayagada,9.83,8.65,1.26,1.44,1.15,0.03,1.18,-0.26,-0.39
|
||||||
|
20,Mayurbhanj,25.61,22.54,3.29,3.76,4.90,0.06,4.96,1.20,1.79
|
||||||
|
21,Kandhamal,7.45,6.56,0.96,1.10,0.70,0.01,0.71,-0.39,-0.58
|
||||||
|
22,Boudh,4.51,3.97,0.58,0.66,1.73,0.03,1.76,1.10,1.64
|
||||||
|
23,Puri,17.29,15.22,2.22,2.54,2.45,0.99,3.44,0.90,1.34
|
||||||
|
24,Khordha,23.08,20.31,2.97,3.39,2.02,0.03,2.05,-1.34,-2.00
|
||||||
|
25,Nayagarh,9.78,8.61,1.26,1.44,2.10,0.00,2.10,0.66,0.99
|
||||||
|
26,Sambalpur,10.62,9.35,1.37,1.57,3.45,0.71,4.16,2.59,3.87
|
||||||
|
27,Bargarh,15.00,13.20,1.93,2.21,6.87,2.65,9.52,7.31,10.91
|
||||||
|
28,Deogarh,3.18,2.80,0.41,0.47,1.12,0.07,1.19,0.72,1.07
|
||||||
|
29,Jharsuguda,5.91,5.20,0.76,0.87,0.99,0.01,1.00,0.13,0.19
|
||||||
|
30,Sundargarh,21.21,18.66,2.72,3.11,4.72,0.02,4.74,1.63,2.43
|
||||||
|
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 440 KiB |
|
|
@ -0,0 +1,3 @@
|
||||||
|
"The Red Ribbon Express (RRE) is the world’s largest mass mobilisation drive on HIV/AIDS. The train will travel through 22 states, during its one year long journey, halting at 152 stations. Through the RRE, NACO, intends to break the silence surrounding the issue of HIV/AIDS, by taking the messages on prevention, care and support to people living in small towns and villages across the country. The aim is also to create an environment, free from stigma and discrimination faced by people living with HIV, so they can access the services, without fear and prejudice, and live a life of dignity. It has proved to be a successful multi- sectoral initiative, of the NACO and a powerful advocacy tool, both at the state and district level, besides enhancing local capacity to deal with HIV prevention.","",""
|
||||||
|
"","",""
|
||||||
|
"","",""
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
"State","Date","Halt stations","Halt days","Persons directly reached(in lakh)","Persons trained","Persons counseled","Persons testedfor HIV"
|
||||||
|
"Delhi","1.12.2009","8","17","1.29","3,665","2,409","1,000"
|
||||||
|
"Rajasthan","2.12.2009 to 19.12.2009","","","","","",""
|
||||||
|
"Gujarat","20.12.2009 to 3.1.2010","6","13","6.03","3,810","2,317","1,453"
|
||||||
|
"Maharashtra","4.01.2010 to 1.2.2010","13","26","1.27","5,680","9,027","4,153"
|
||||||
|
"Karnataka","2.2.2010 to 22.2.2010","11","19","1.80","5,741","3,658","3,183"
|
||||||
|
"Kerala","23.2.2010 to 11.3.2010","9","17","1.42","3,559","2,173","855"
|
||||||
|
"Total","","47","92","11.81","22,455","19,584","10,644"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
State,Date,"Halt
stations","Halt
days","Persons
directly
reached
(in lakh)","Persons
trained","Persons
counseled","Persons
tested
for HIV"
|
||||||
|
Delhi,1.12.2009,8,17,1.29,"3,665","2,409","1,000"
|
||||||
|
Rajasthan,"2.12.2009 to
19.12.2009",,,,,,
|
||||||
|
Gujarat,"20.12.2009 to
3.1.2010",6,13,6.03,"3,810","2,317","1,453"
|
||||||
|
Maharashtra,"4.01.2010 to
1.2.2010",13,26,1.27,"5,680","9,027","4,153"
|
||||||
|
Karnataka,"2.2.2010 to
22.2.2010",11,19,1.80,"5,741","3,658","3,183"
|
||||||
|
Kerala,"23.2.2010 to
11.3.2010",9,17,1.42,"3,559","2,173",855
|
||||||
|
Total,,47,92,11.81,"22,455","19,584","10,644"
|
||||||
|
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 528 KiB |
|
|
@ -0,0 +1,27 @@
|
||||||
|
"Sl.No","SIZE GROUP(HA)","NO. OF HOLDINGS GROWING THE CROP","","AREA UNDER THE CROP","","","AREA UNDER THE CROP TREATED WITHTHE MANURE","",""
|
||||||
|
"","","TOTAL NO.","NO. TREATED WITHTHE MANURE","HYV","OTHERS","TOTAL","HYV","OTHERS","TOTAL"
|
||||||
|
"(1)","(2)","(3)","(4)","(5)","(6)","(7)","(8)","(9)","(10)"
|
||||||
|
"1","MARGINAL (BELOW 1.0)","","","","","","","",""
|
||||||
|
"","I","39053","0","12142","3322","15464","0","0","0"
|
||||||
|
"","UI","7429","0","2088","1560","3648","0","0","0"
|
||||||
|
"","T","46484","0","14230","4882","19112","0","0","0"
|
||||||
|
"2","SMALL (1.0 - 1.99)","","","","","","","",""
|
||||||
|
"","I","20341","0","16685","1631","18316","0","0","0"
|
||||||
|
"","UI","6854","0","4594","1885","6479","0","0","0"
|
||||||
|
"","T","27197","0","21279","3516","24795","0","0","0"
|
||||||
|
"3","SEMI-MEDIUM (2.0 - 3.99)","","","","","","","",""
|
||||||
|
"","I","20800","0","16991","7643","24634","0","0","0"
|
||||||
|
"","UI","5856","0","1017","4819","5836","0","0","0"
|
||||||
|
"","T","26555","0","18008","12462","30470","0","0","0"
|
||||||
|
"4","MEDIUM (4.0 - 9.99)","","","","","","","",""
|
||||||
|
"","I","11986","0","17576","4120","21696","0","0","0"
|
||||||
|
"","UI","4615","0","1446","6227","7673","0","0","0"
|
||||||
|
"","T","16312","0","19022","10347","29369","0","0","0"
|
||||||
|
"5","LARGE (10 AND ABOVE)","","","","","","","",""
|
||||||
|
"","I","2005","0","3671","639","4310","0","0","0"
|
||||||
|
"","UI","521","0","611","831","1442","0","0","0"
|
||||||
|
"","T","2485","0","4282","1470","5752","0","0","0"
|
||||||
|
"6","ALL GROUPS","","","","","","","",""
|
||||||
|
"","I","94185","0","67065","17355","84420","0","0","0"
|
||||||
|
"","UI","25275","0","9756","15322","25078","0","0","0"
|
||||||
|
"","T","119033","0","76821","32677","109498","0","0","0"
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
Sl.No,"SIZE
GROUP
(HA)","NO. OF HOLDINGS GROWING
THE CROP
TOTAL NO.NO. TREATED WITH
THE MANURE",AREA UNDER THE CROP,"AREA UNDER THE CROP TREATED WITH
THE MANURE",,,,,
|
||||||
|
"",,"NO. TREATED WITH
THE MANURE",HYV,OTHERS,TOTAL,HYV,OTHERS,TOTAL,
|
||||||
|
"(1)",(2),(3),(4),(5),(6),(7),(8),(9),(10)
|
||||||
|
1,ARGINAL (BELOW 1.0),,,,,,,,
|
||||||
|
"","I
UI
T",39053,0,12142,332,15464,0,0,0
|
||||||
|
"",7429,0,2088,1560,3648,0,0,0,
|
||||||
|
"",46484,0,14230,488,19112,0,0,0,
|
||||||
|
2,MALL (1.0 - 1.99),,,,,,,,
|
||||||
|
"","I
UI
T",20341,0,16685,163,18316,0,0,0
|
||||||
|
"",6854,0,4594,1885,6479,0,0,0,
|
||||||
|
"",27197,0,21279,351,24795,0,0,0,
|
||||||
|
3,EMI-MEDIUM (2.0 - 3.99),,,,,,,,
|
||||||
|
"","I
UI
T",20800,0,16991,764,24634,0,0,0
|
||||||
|
"",5856,0,1017,4819,5836,0,0,0,
|
||||||
|
"",26555,0,18008,1246,30470,0,0,0,
|
||||||
|
4,EDIUM (4.0 - 9.99),,,,,,,,
|
||||||
|
"","I
UI
T",11986,0,17576,412,21696,0,0,0
|
||||||
|
"",4615,0,1446,6227,7673,0,0,0,
|
||||||
|
"",16312,0,19022,1034,29369,0,0,0,
|
||||||
|
5,ARGE (10 AND ABOVE),,,,,,,,
|
||||||
|
"","I
UI
T",2005,0,3671,63,4310,0,0,0
|
||||||
|
"",521,0,611,831,1442,0,0,0,
|
||||||
|
"",2485,0,4282,147,5752,0,0,0,
|
||||||
|
"",LL GROUPS,,,,,,,,
|
||||||
|
"",94185,0,67065,1735,84420,0,0,0,
|
||||||
|
6,,,,,,,,,
|
||||||
|
"NO. OF HOLDINGS GROWING
THE CROP
TOTAL NO.NO. TREATED WITH
THE MANURE"
|
||||||
|
"NO. TREATED WITH
THE MANURE"
|
||||||
|
6
|
||||||
|
Can't render this file because it has a wrong number of fields in line 27.
|
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 344 KiB |
|
|
@ -0,0 +1,50 @@
|
||||||
|
"Sl. No.","Year","Population (in Lakh)","Accidental Deaths","","Suicides","","Percentage Population growth"
|
||||||
|
"","","","Incidence","Rate","Incidence","Rate",""
|
||||||
|
"(1)","(2)","(3)","(4)","(5)","(6)","(7)","(8)"
|
||||||
|
"1.","1967","4999","126762","25.4","38829","7.8","2.2"
|
||||||
|
"2.","1968","5111","126232","24.7","40688","8.0","2.2"
|
||||||
|
"3.","1969","5225","130755","25.0","43633","8.4","2.2"
|
||||||
|
"4.","1970","5343","139752","26.2","48428","9.1","2.3"
|
||||||
|
"5.","1971","5512","105601","19.2","43675","7.9","3.2"
|
||||||
|
"6.","1972","5635","106184","18.8","43601","7.7","2.2"
|
||||||
|
"7.","1973","5759","130654","22.7","40807","7.1","2.2"
|
||||||
|
"8.","1974","5883","110624","18.8","46008","7.8","2.2"
|
||||||
|
"9.","1975","6008","113016","18.8","42890","7.1","2.1"
|
||||||
|
"10.","1976","6136","111611","18.2","41415","6.7","2.1"
|
||||||
|
"11.","1977","6258","117338","18.8","39718","6.3","2.0"
|
||||||
|
"12.","1978","6384","118594","18.6","40207","6.3","2.0"
|
||||||
|
"13.","1979","6510","108987","16.7","38217","5.9","2.0"
|
||||||
|
"14.","1980","6636","116912","17.6","41663","6.3","1.9"
|
||||||
|
"15.","1981","6840","122221","17.9","40245","5.9","3.1"
|
||||||
|
"16.","1982","7052","125993","17.9","44732","6.3","3.1"
|
||||||
|
"17.","1983","7204","128576","17.8","46579","6.5","2.2"
|
||||||
|
"18.","1984","7356","134628","18.3","50571","6.9","2.1"
|
||||||
|
"19.","1985","7509","139657","18.6","52811","7.0","2.1"
|
||||||
|
"20.","1986","7661","147023","19.2","54357","7.1","2.0"
|
||||||
|
"21.","1987","7814","152314","19.5","58568","7.5","2.0"
|
||||||
|
"22.","1988","7966","163522","20.5","64270","8.1","1.9"
|
||||||
|
"23.","1989","8118","169066","20.8","68744","8.5","1.9"
|
||||||
|
"24.","1990","8270","174401","21.1","73911","8.9","1.9"
|
||||||
|
"25.","1991","8496","188003","22.1","78450","9.2","2.7"
|
||||||
|
"26.","1992","8677","194910","22.5","80149","9.2","2.1"
|
||||||
|
"27.","1993","8838","192357","21.8","84244","9.5","1.9"
|
||||||
|
"28.","1994","8997","190435","21.2","89195","9.9","1.8"
|
||||||
|
"29.","1995","9160","222487","24.3","89178","9.7","1.8"
|
||||||
|
"30.","1996","9319","220094","23.6","88241","9.5","1.7"
|
||||||
|
"31.","1997","9552","233903","24.5","95829","10.0","2.5"
|
||||||
|
"32.","1998","9709","258409","26.6","104713","10.8","1.6"
|
||||||
|
"33.","1999","9866","271918","27.6","110587","11.2","1.6"
|
||||||
|
"34.","2000","10021","255883","25.5","108593","10.8","1.6"
|
||||||
|
"35.","2001","10270","271019","26.4","108506","10.6","2.5"
|
||||||
|
"36.","2002","10506","260122","24.8","110417","10.5","2.3"
|
||||||
|
"37.","2003","10682","259625","24.3","110851","10.4","1.7"
|
||||||
|
"38.","2004","10856","277263","25.5","113697","10.5","1.6"
|
||||||
|
"39.","2005","11028","294175","26.7","113914","10.3","1.6"
|
||||||
|
"40.","2006","11198","314704","28.1","118112","10.5","1.5"
|
||||||
|
"41.","2007","11366","340794","30.0","122637","10.8","1.5"
|
||||||
|
"42.","2008","11531","342309","29.7","125017","10.8","1.4"
|
||||||
|
"43.","2009","11694","357021","30.5","127151","10.9","1.4"
|
||||||
|
"44.","2010","11858","384649","32.4","134599","11.4","1.4"
|
||||||
|
"45.","2011","12102","390884","32.3","135585","11.2","2.1"
|
||||||
|
"46.","2012","12134","394982","32.6","135445","11.2","1.0"
|
||||||
|
"47.","2013","12288","400517","32.6","134799","11.0","1.0"
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
Rate of Accidental Deaths & Suicides and Population Growth During 1967 to 2013,,,,,,,
|
||||||
|
"Sl.
No.",Year,"Population
(in Lakh)",Accidental Deaths,Suicides,"Percentage
Population
growth",,
|
||||||
|
"",,,Incidence,Rate,Incidence,Rate,
|
||||||
|
"(1)",(2),(3),(4),(5),(6),(7),(8)
|
||||||
|
1.,1967,4999,126762,25.4,38829,7.8,2.2
|
||||||
|
2.,1968,5111,126232,24.7,40688,8.0,2.2
|
||||||
|
3.,1969,5225,130755,25.0,43633,8.4,2.2
|
||||||
|
4.,1970,5343,139752,26.2,48428,9.1,2.3
|
||||||
|
5.,1971,5512,105601,19.2,43675,7.9,3.2
|
||||||
|
6.,1972,5635,106184,18.8,43601,7.7,2.2
|
||||||
|
7.,1973,5759,130654,22.7,40807,7.1,2.2
|
||||||
|
8.,1974,5883,110624,18.8,46008,7.8,2.2
|
||||||
|
9.,1975,6008,113016,18.8,42890,7.1,2.1
|
||||||
|
10.,1976,6136,111611,18.2,41415,6.7,2.1
|
||||||
|
11.,1977,6258,117338,18.8,39718,6.3,2.0
|
||||||
|
12.,1978,6384,118594,18.6,40207,6.3,2.0
|
||||||
|
13.,1979,6510,108987,16.7,38217,5.9,2.0
|
||||||
|
14.,1980,6636,116912,17.6,41663,6.3,1.9
|
||||||
|
15.,1981,6840,122221,17.9,40245,5.9,3.1
|
||||||
|
16.,1982,7052,125993,17.9,44732,6.3,3.1
|
||||||
|
17.,1983,7204,128576,17.8,46579,6.5,2.2
|
||||||
|
18.,1984,7356,134628,18.3,50571,6.9,2.1
|
||||||
|
19.,1985,7509,139657,18.6,52811,7.0,2.1
|
||||||
|
20.,1986,7661,147023,19.2,54357,7.1,2.0
|
||||||
|
21.,1987,7814,152314,19.5,58568,7.5,2.0
|
||||||
|
22.,1988,7966,163522,20.5,64270,8.1,1.9
|
||||||
|
23.,1989,8118,169066,20.8,68744,8.5,1.9
|
||||||
|
24.,1990,8270,174401,21.1,73911,8.9,1.9
|
||||||
|
25.,1991,8496,188003,22.1,78450,9.2,2.7
|
||||||
|
26.,1992,8677,194910,22.5,80149,9.2,2.1
|
||||||
|
27.,1993,8838,192357,21.8,84244,9.5,1.9
|
||||||
|
28.,1994,8997,190435,21.2,89195,9.9,1.8
|
||||||
|
29.,1995,9160,222487,24.3,89178,9.7,1.8
|
||||||
|
30.,1996,9319,220094,23.6,88241,9.5,1.7
|
||||||
|
31.,1997,9552,233903,24.5,95829,10.0,2.5
|
||||||
|
32.,1998,9709,258409,26.6,104713,10.8,1.6
|
||||||
|
33.,1999,9866,271918,27.6,110587,11.2,1.6
|
||||||
|
34.,2000,10021,255883,25.5,108593,10.8,1.6
|
||||||
|
35.,2001,10270,271019,26.4,108506,10.6,2.5
|
||||||
|
36.,2002,10506,260122,24.8,110417,10.5,2.3
|
||||||
|
37.,2003,10682,259625,24.3,110851,10.4,1.7
|
||||||
|
38.,2004,10856,277263,25.5,113697,10.5,1.6
|
||||||
|
39.,2005,11028,294175,26.7,113914,10.3,1.6
|
||||||
|
40.,2006,11198,314704,28.1,118112,10.5,1.5
|
||||||
|
41.,2007,11366,340794,30.0,122637,10.8,1.5
|
||||||
|
42.,2008,11531,342309,29.7,125017,10.8,1.4
|
||||||
|
43.,2009,11694,357021,30.5,127151,10.9,1.4
|
||||||
|
44.,2010,11858,384649,32.4,134599,11.4,1.4
|
||||||
|
45.,2011,12102,390884,32.3,135585,11.2,2.1
|
||||||
|
46.,2012,12134,394982,32.6,135445,11.2,1.0
|
||||||
|
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 358 KiB |
|
|
@ -0,0 +1,11 @@
|
||||||
|
"Investigations","No. ofHHs","Age/Sex/Physiological Group","Preva-lence","C.I*","RelativePrecision","Sample sizeper State"
|
||||||
|
"Anthropometry","2400","All the available individuals","","","",""
|
||||||
|
"Clinical Examination","","","","","",""
|
||||||
|
"History of morbidity","","","","","",""
|
||||||
|
"Diet survey","1200","All the individuals partaking meals in the HH","","","",""
|
||||||
|
"Blood Pressure #","2400","Men (≥ 18yrs)","10%","95%","20%","1728"
|
||||||
|
"","","Women (≥ 18 yrs)","","","","1728"
|
||||||
|
"Fasting blood glucose","2400","Men (≥ 18 yrs)","5%","95%","20%","1825"
|
||||||
|
"","","Women (≥ 18 yrs)","","","","1825"
|
||||||
|
"Knowledge &Practices on HTN &DM","2400","Men (≥ 18 yrs)","-","-","-","1728"
|
||||||
|
"","2400","Women (≥ 18 yrs)","-","-","-","1728"
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
Investigations,"No. of
HHs","Age/Sex/
Physiological Group","Preva-
lence",C.I*,"Relative
Precision","Sample size
per State"
|
||||||
|
Anthropometry,2400,All the available individuals,,,,
|
||||||
|
Clinical Examination,,,,,,
|
||||||
|
History of morbidity,,,,,,
|
||||||
|
Diet survey,1200,All the individuals partaking meals in the HH,,,,
|
||||||
|
Blood Pressure #,2400,Men (≥ 18yrs),10%,95%,20%,1728
|
||||||
|
"",,Women (≥ 18 yrs),1728,,,
|
||||||
|
Fasting blood glucose,2400,Men (≥ 18 yrs),5%,95%,20%,1825
|
||||||
|
"",Women (≥ 18 yrs),1825,,,,
|
||||||
|
2400,Men (≥ 18 yrs),-,-,-,1728,
|
||||||
|
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 368 KiB |
|
|
@ -0,0 +1,32 @@
|
||||||
|
"Section No & Name -1-DG-3, DDA FLATS VIKAS PURI ,DELHI","","","","","","","","","",""
|
||||||
|
"","1 NEL2976271","","","2 NEL3800892","","","3 NEL3767760","","",""
|
||||||
|
"","Mukesh KumarName :Father's :Lok Nath JhambName0House No :Age : 55Sex : Male","","","Dharamveer NandaName :Father's :Madan LalName15House No :Age : 63Sex : Male","","","Amit NandaName :Father's :Dharamvir NandaName15House No :Age : 33Sex : Male","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","4 NEL3559068","","","5 NEL3905551","","","6 NEL3827317","","",""
|
||||||
|
"","PoojaName :Father's :P D JoshiName31House No :Age : 23Sex : Female","","","Aashray DuttaName :Father's :Ajay DuttaName48House No :Age : 22Sex : Male","","","Pushpjeet Kaur SinghName :Husband's :Baljit SinghName55House No :Age : 62Sex : Female","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","7 NEL3475357","","","8 NEL3896791","","","9 NEL3896627","","",""
|
||||||
|
"","LakshmiName :Husband's :Lt KrishnanName62House No :Age : 80Sex : Female","","","Davinder KumarName :Father's :Ram RattanName63House No :Age : 61Sex : Male","","","DeepaName :Husband's :Davinder KumarName63House No :Age : 54Sex : Female","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","10 NEL3784815","","","11 NEL3244199","","","12 LQK1856012","","",""
|
||||||
|
"","Tavishi DuttName :Father's :Anil DuttName73House No :Age : 20Sex : Female","","","Devinder VermaName :Father's :Prem Singh VermaName75House No :Age : 49Sex : Male","","","Sheetal BansalName :Father's :Vijay SharmaName88House No :Age : 41Sex : Female","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","13 NEL3842365","","","14 NEL2973293","","","15 NEL2950060","","",""
|
||||||
|
"","Joyti AdhkariName :Husband's :Rakesh AdhikariName92House No :Age : 28Sex : Female","","","RituName :Husband's :Rajesh KumarName104House No :Age : 45Sex : Female","","","Rajesh KumarName :Father's :Rai Bahadur JunejaName104House No :Age : 43Sex : Male","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","16 NEL2971959","","","17 NEL3843173","","","18 NEL4068250","","",""
|
||||||
|
"","ParulName :Father's :Rajesh KumarName104House No :Age : 23Sex : Female","","","Sushila GudvenaName :Father's :A Chayya MysaName119-BHouse No :Age : 46Sex : Female","","","DrishtiName :Father's :PramodhName126House No :Age : 22Sex : Female","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","19 NEL3817466","","","20 NEL3834049","","","21 NEL3247474","","",""
|
||||||
|
"","AnkitName :Father's :Dinesh KumarName133House No :Age : 29Sex : Male","","","Vibhu NandaName :Father's :Pradeep Kumar NandaName143House No :Age : 25Sex : Male","","","Mool ChandName :Father's :Ghisa RamName145House No :Age : 47Sex : Male","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","22 NEL3710472","","","23 NEL3722823","","","24 NEL3801163","","",""
|
||||||
|
"","Meha Elizabeth VargheseName :Father's :Varughese MathewName147House No :Age : 20Sex : Female","","","Mohit ChadhaName :Mother's :Promila ChadhaName151House No :Age : 24Sex : Male","","","Sakshi RanaName :Father's :Surinder RanaName155House No :Age : 21Sex : Female","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","25 NEL3654752","","","26 NEL3714978","","","27 NEL2926482","","",""
|
||||||
|
"","Devender KumarName :Father's :Om Prakash RustagiName178House No :Age : 41Sex : Male","","","Shuchi RustagiName :Husband's :Devender KumarName178House No :Age : 35Sex : Female","","","Narayanan T PName :Father's :Sekharan NairName194House No :Age : 59Sex : Male","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","28 NEL4131230","","","29 NEL3379277","","","30 NEL3379433","","",""
|
||||||
|
"","Papiya BoseName :Husband's :Vipin KumarName195House No :Age : 33Sex : Female","","","Depali ChaudharyName :Husband's :Nitin KumarName195House No :Age : 28Sex : Female","","","Arvind VermaName :Father's :Pr VermaName201House No :Age : 45Sex : Male","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
"","","","","","","","","","",""
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
2
|
||||||
|
3
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
22
|
||||||
|
23
|
||||||
|
24
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
25
|
||||||
|
26
|
||||||
|
27
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
28
|
||||||
|
29
|
||||||
|
30
|
||||||
|
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 327 KiB |
|
|
@ -0,0 +1,13 @@
|
||||||
|
"State","Nutritional Assessment (No. of individuals)","","","","IYCF Practices (No. of mothers: 2011-12)","Blood Pressure (No. of adults: 2011-12)","","Fasting Blood Sugar (No. of adults:2011-12)",""
|
||||||
|
"","1975-79","1988-90","1996-97","2011-12","","Men","Women","Men","Women"
|
||||||
|
"Kerala","5738","6633","8864","8297","245","2161","3195","1645","2391"
|
||||||
|
"Tamil Nadu","7387","10217","5813","7851","413","2134","2858","1119","1739"
|
||||||
|
"Karnataka","6453","8138","12606","8958","428","2467","2894","1628","2028"
|
||||||
|
"Andhra Pradesh","5844","9920","9545","8300","557","1899","2493","1111","1529"
|
||||||
|
"Maharashtra","5161","7796","6883","9525","467","2368","2648","1417","1599"
|
||||||
|
"Gujarat","4403","5374","4866","9645","477","2687","3021","2122","2503"
|
||||||
|
"Madhya Pradesh","*","*","*","7942","470","1965","2150","1579","1709"
|
||||||
|
"Orissa","3756","5540","12024","8473","398","2040","2624","1093","1628"
|
||||||
|
"West Bengal","*","*","*","8047","423","2058","2743","1413","2027"
|
||||||
|
"Uttar Pradesh","*","*","*","9860","581","2139","2415","1185","1366"
|
||||||
|
"Pooled","38742","53618","60601","86898","4459","21918","27041","14312","18519"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
"State
la
il Nadu",,,T,ble,"1 :
Nut
(","TA
itio
o.","E
al
f in","IS
ss
ivi","CO
ss
ual","ER
ent
)",G,PA
|
||||||
|
"",,,"197
57
73","-79
8
7","1
1","88-9
633
21",,"996
88
58","97
4
3",,"011
829
785",12
|
||||||
|
"ataka
hra Prad
arashtra
rat
hya Pra",sh,,"64
58","3
4",,"138
920",,"126
95","6
5",,"895
830",
|
||||||
|
"",es,,"44
*",3,,"374
*",,"48
*",6,,"964
794",
|
||||||
|
"sa
t Bengal
r Pradesh
led
* Data not",vail,"37
*
*
38
ble","6
42",5,"540
*
*
61",,"120
*
*
606","4
1",,"847
804
986
68",8,
|
||||||
|
MB,,,,,,,,,,,,
|
||||||
|
"",,,,,,,,,,,,
|
||||||
|
"",,,,,,,,,,,,
|
||||||
|
"",,,,,,,,,,,,
|
||||||
|
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 248 KiB |
|
|
@ -0,0 +1,40 @@
|
||||||
|
"Plan Type","County","Plan Name","Totals"
|
||||||
|
"GMC","Sacramento","Anthem Blue Cross","164,380"
|
||||||
|
"","","Health Net","126,547"
|
||||||
|
"","","Kaiser Foundation","74,620"
|
||||||
|
"","","Molina Healthcare","59,989"
|
||||||
|
"","San Diego","Care 1st Health Plan","71,831"
|
||||||
|
"","","Community Health Group","264,639"
|
||||||
|
"","","Health Net","72,404"
|
||||||
|
"","","Kaiser","50,415"
|
||||||
|
"","","Molina Healthcare","206,430"
|
||||||
|
"","Total GMC Enrollment","","1,091,255"
|
||||||
|
"COHS","Marin","Partnership Health Plan of CA","36,006"
|
||||||
|
"","Mendocino","","37,243"
|
||||||
|
"","Napa","","28,398"
|
||||||
|
"","Solano","","113,220"
|
||||||
|
"","Sonoma","","112,271"
|
||||||
|
"","Yolo","","52,674"
|
||||||
|
"","Del Norte","","11,242"
|
||||||
|
"","Humboldt","","49,911"
|
||||||
|
"","Lake","","29,149"
|
||||||
|
"","Lassen","","7,360"
|
||||||
|
"","Modoc","","2,940"
|
||||||
|
"","Shasta","","61,763"
|
||||||
|
"","Siskiyou","","16,715"
|
||||||
|
"","Trinity","","4,542"
|
||||||
|
"","Merced","Central California Alliance for Health","123,907"
|
||||||
|
"","Monterey","","147,397"
|
||||||
|
"","Santa Cruz","","69,458"
|
||||||
|
"","Santa Barbara","CenCal","117,609"
|
||||||
|
"","San Luis Obispo","","55,761"
|
||||||
|
"","Orange","CalOptima","783,079"
|
||||||
|
"","San Mateo","Health Plan of San Mateo","113,202"
|
||||||
|
"","Ventura","Gold Coast Health Plan","202,217"
|
||||||
|
"","Total COHS Enrollment","","2,176,064"
|
||||||
|
"Subtotal for Two-Plan, Regional Model, GMC and COHS","","","10,132,022"
|
||||||
|
"PCCM","Los Angeles","AIDS Healthcare Foundation","828"
|
||||||
|
"","San Francisco","Family Mosaic","25"
|
||||||
|
"","Total PHP Enrollment","","853"
|
||||||
|
"All Models Total Enrollments","","","10,132,875"
|
||||||
|
"Source: Data Warehouse 12/14/15","","",""
|
||||||
|