Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add date support in from xlsx #11952

Merged
merged 2 commits into from Feb 24, 2024
Merged

Add date support in from xlsx #11952

merged 2 commits into from Feb 24, 2024

Conversation

nils-degroot
Copy link
Contributor

@nils-degroot nils-degroot commented Feb 23, 2024

Description

This PR add date support when using the open command on a xlsx file, and the using from xlsx on a xlsx file.

User-Facing Changes

Currently dates in xlsx files are read as nulls, after this PR this would be regular dates.

Tests + Formatting

After Submitting

@fdncred
Copy link
Collaborator

fdncred commented Feb 23, 2024

nice add! seems pretty unobtrusive.

Comment on lines 151 to 153
.and_then(|d| FixedOffset::east_opt(0).map(|o| (d, o)))
.map(|(d, o)| DateTime::from_naive_utc_and_offset(d, o))
.map(|d| Value::date(d, head))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excel's date time doesn't carry its own timezone info? (or as part of the metadata?)

Should this be Zulu time or local time?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By default excel does not account for timezones, its upto the sheet owner to manage this themselfs. What should be the default timezone, just utc?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer the local timezone

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now I set it to local with a backup to Utc

@fdncred fdncred merged commit 67a6316 into nushell:main Feb 24, 2024
20 checks passed
@fdncred
Copy link
Collaborator

fdncred commented Feb 24, 2024

Thanks

@hustcer hustcer added this to the v0.91.0 milestone Feb 26, 2024
kik4444 pushed a commit to kik4444/nushell-fork that referenced this pull request Feb 28, 2024
<!--
if this PR closes one or more issues, you can automatically link the PR
with
them by using one of the [*linking
keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword),
e.g.
- this PR should close #xxxx
- fixes #xxxx

you can also mention related issues, PRs or discussions!
-->

# Description
<!--
Thank you for improving Nushell. Please, check our [contributing
guide](../CONTRIBUTING.md) and talk to the core team before making major
changes.

Description of your pull request goes here. **Provide examples and/or
screenshots** if your changes affect the user experience.
-->

This PR add date support when using the `open` command on a xlsx file,
and the using `from xlsx` on a xlsx file.
 
# User-Facing Changes
<!-- List of all changes that impact the user experience here. This
helps us keep track of breaking changes. -->

Currently dates in xlsx files are read as nulls, after this PR this
would be regular dates.

# Tests + Formatting
<!--
Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to
check that you're using the standard code style
- `cargo test --workspace` to check that all tests pass (on Windows make
sure to [enable developer
mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging))
- `cargo run -- -c "use std testing; testing run-tests --path
crates/nu-std"` to run the tests for the standard library

> **Note**
> from `nushell` you can also use the `toolkit` as follows
> ```bash
> use toolkit.nu # or use an `env_change` hook to activate it
automatically
> toolkit check pr
> ```
-->

# After Submitting
<!-- If your PR had any user-facing changes, update [the
documentation](https://github.com/nushell/nushell.github.io) after the
PR is merged, if necessary. This will help us keep the docs up to date.
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants