googleapis / googleapis/google-cloud-python

Timestamp Returned In Scientific Notation By API Crashes Field Cast

未关闭
#17,277 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
api: bigquery priority: p2 type: bug
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

### 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_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。