googleapis / googleapis/google-cloud-python

Timestamp Returned In Scientific Notation By API Crashes Field Cast

Aperta
#17,277 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
api: bigquery priority: p2 type: bug
Lingua principale
Python
Stelle
5.4k
Fork
1.8k
Merge medio
3g 4h
PR unite (30g)
122

Descrizione

### Determine this is the right repository

- [x] I determined this is the correct repository in which to report this bug.

### Summary of the issue

**Context**
Write a timestamp field to the BigQuery API that was written using UnixTime stamp from python.
Then try to load it as an object.

**Expected Behavior:**
Timestamp comes back without errors.

**Actual Behavior:**
Getting a TypeError when int tries to parse "1.67899e8".

### API client name and version

google-cloud-bigquery

### Reproduction steps: code

See: [google-cloud-bigquery/google/cloud/bigquery/_helpers.py#L264](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-bigquery/google/cloud/bigquery/_helpers.py#L264)

Line 264 is: return _datetime_from_microseconds(int(value))

The int cast causes the error when the API returns '1.345345e8', which it does.

### Reproduction steps: supporting files

Write a timestamp to bigqurry using time.time()... its accepted.
Load the value back.... causes error.

### Reproduction steps: actual results

### Reproduction steps: expected results

```

### OS & version + platform

_No response_

### Python environment

_No response_

### Python dependencies

_No response_

### Additional context

_No response_

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.