FileReader
FileReader
FileReader
Provide functionality to read, filter, and write data
from a TXT file located in the TxtInOut folder.
Source code in pySWATPlus/FileReader.py
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | |
__init__(path: str | pathlib.Path, has_units: bool = False, usecols: typing.Optional[list[str]] = None, filter_by: typing.Optional[str] = None)
Initialize a FileReader instance to read data from a TXT file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
Path to the TXT file to be read. |
required |
has_units
|
bool
|
If |
False
|
usecols
|
list[str]
|
List of column names to read from the file. |
None
|
filter_by
|
str
|
A pandas query string to filter rows from the file. |
None
|
Raises:
| Type | Description |
|---|---|
TypeError
|
If the input file has a |
Attributes:
| Name | Type | Description |
|---|---|---|
df |
DataFrame
|
A DataFrame containing the loaded and optionally filtered data. |
Example
reader = FileReader(
path='C:\users\username\project\Scenarios\Default\TxtInOut\plants.plt',
has_units=False,
usecols=['name', 'plnt_typ', 'gro_trig'],
filter_by="plnt_typ == 'perennial'"
)
Source code in pySWATPlus/FileReader.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | |
overwrite_file() -> None
Overwrite the original TXT file with the modified DataFrame content. If the file originally contained a unit row (below the header), it will be preserved and written back as part of the output.
Source code in pySWATPlus/FileReader.py
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | |