| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Having the `::` on new line can be ambiguous for RST parsers,
as `:` is a valid character for header underlines. And as underlines do
not have to be as long as the title for some rst parser this appears to
be a title.
Workaround is to have either a blank line, or put the `::` at the end of
previous one.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
ENH: Move `loadtxt` to C for much better speed
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Floats with underscores
- Floats + hex floats.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
nrows gt chunksize.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Includes comments param, which is handled on the Python side.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | | |
Adds some tests for the behavior of control characters, e.g. comments, delimiter and quotechar, when they have the same value. At this stage, these tests are more to frame the discussion about what the behavior should be, not to test what it currently is. I personally think raising an exception is correct for most of these situations, though it's worth noting that np.loadtxt currently doesn't for most of these corner cases (and seems to randomly assign precedence to delimiter over comments or vice versa depending on the values).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `str` values for those weird values used for longdouble are
truncated by PyPy's complex `str` output. Which seems fine probably
since PyPy's `repr` does the right thing and will not truncate.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Longdouble is a source of problems here especially (mainly due to
it sometimes using double in the background, or maybe just buggy
implementations). Together with strings that correctly parsed
do not roundtrip (if printed using less precision), things just do
not work out... This fixes it, and is simpler/clearer anyway.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
PyPy has a small bug with error formatting, so these cause it to
crash. Simply skip the tests on old PyPy versions for now.
(Matti fixed the issue long ago, just waiting for a new PyPy release :))
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I had a lingering feeling I should double check this, turns out
that feeling was right ;).
(Fixes up the tokenizer doc a bit.)
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also fix style a bit to silence linter (hopefully), removes some
black style, but I am not too opinionated about that :)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This also adds two basic new tests around files/strings containing
the \0 character (prooving that we handle that gracefully).
Also adds tests for:
* the `_` thousands delimiter (should fail, but doesn't for float128
right now)
* Failure modes when the number of rows changes (negative specifically)
Many of these tests came originally from Warren Weckesser and others
were added by Ross Barnowsky:
Co-authored-by: Warren Weckesser <warren.weckesser@gmail.com>
Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Skiplines is just the more clear names since "rows" make a lot of
sense for output rows (which implies that a line is not empty for
example)
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
And remove one silly leftover struct member that was unused
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This also slightly cleans up the empty-line handling: previously
we sometimes just had some extra empty-lines that just effectively
never mattered
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Of course to actually use that many columns you need A LOT of memory
right now. Each field stores at least a UCS4 NUL character, but
the field is padded enough to require 16 bytes.
We always parse a full row, so that requires 20 bytes per field...
(i.e. 32 GiB RAM is not enough to test this :)).
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
If a memory error happens, we should at least not crash the interpreter
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also correct exception message.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Add test for parsing scientific notation.
- Add multiple-char comment test.
- Port over tests for structured dtypes.
- Add tests for exceptions on skiprows/max_rows.
- port over ndmin tests.
- Make structured data reusable, add unpack tests.
- Port over delimiter tests.
- Port over maxrows test w/ various dtypes.
- Port over test of exception msg on parse failure.
- Port over test for converters w/neg indices.
- Port over usecols tests
- Port over unicode tests.
- Port over more converter tests.
- Port over test for large rows.
- Port over test for string-len discovery.
- Port over float conversion accuracy test.
- Port over bool test.
- Add test for implicit float->int conversion.
- Port over complex parsing tests.
- Port over tests for reading from generator.
- Port over object cleanup test.
- Port over bytes incompat test.
- Port over converters tests.
Co-authored-by: Warren Weckesser <warren.weckesser@gmail.com>
Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`None` is forced instead in all cases (mainly applies to comments).
This is not really a change in behaviour: It was always utterly
broken.
The one weird thing about it is that `delimiter=None` means
"any whitespace", while `quote=None` and `comments=None` means
that no quote/comment character exists at all.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This makes it strict that newline characters _within_ a single
line (which is only possible if the user passes in a manual iterator
of strings), is considered weird and rejected.
An example is: `np.loadtxt(['1\n1', "2 2"], dtype=np.int64)`
|
| | | | |
| | | | |
| | | | |
| | | | | |
(Mainly revising the doc strings)
|