Skip to content

Commit e10f755

Browse files
committed
doc(bigquery): add more data types to load dataframe sample
1 parent 154c8ec commit e10f755

File tree

2 files changed

+58
-8
lines changed

2 files changed

+58
-8
lines changed

bigquery/samples/load_table_dataframe.py

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
def load_table_dataframe(client, table_id):
1717

1818
# [START bigquery_load_table_dataframe]
19-
from google.cloud import bigquery
19+
import datetime
2020

21+
from google.cloud import bigquery
2122
import pandas
23+
import pytz
2224

2325
# TODO(developer): Construct a BigQuery client object.
2426
# client = bigquery.Client()
@@ -27,16 +29,54 @@ def load_table_dataframe(client, table_id):
2729
# table_id = "your-project.your_dataset.your_table_name"
2830

2931
records = [
30-
{"title": u"The Meaning of Life", "release_year": 1983},
31-
{"title": u"Monty Python and the Holy Grail", "release_year": 1975},
32-
{"title": u"Life of Brian", "release_year": 1979},
33-
{"title": u"And Now for Something Completely Different", "release_year": 1971},
32+
{
33+
"title": u"The Meaning of Life",
34+
"release_year": 1983,
35+
"length_minutes": 112.5,
36+
"release_date": datetime.datetime(
37+
1983, 5, 9, 13, 0, 0, tzinfo=pytz.timezone("Europe/Paris")
38+
),
39+
"dvd_release": datetime.datetime(2002, 1, 22, 7, 0, 0),
40+
},
41+
{
42+
"title": u"Monty Python and the Holy Grail",
43+
"release_year": 1975,
44+
"length_minutes": 91.5,
45+
"release_date": datetime.datetime(
46+
1975, 4, 9, 23, 59, 2, tzinfo=pytz.timezone("Europe/London")
47+
),
48+
"dvd_release": datetime.datetime(2002, 7, 16, 9, 0, 0),
49+
},
50+
{
51+
"title": u"Life of Brian",
52+
"release_year": 1979,
53+
"length_minutes": 94.25,
54+
"release_date": datetime.datetime(
55+
1979, 8, 17, 23, 59, 5, tzinfo=pytz.timezone("America/New_York")
56+
),
57+
"dvd_release": datetime.datetime(2008, 1, 14, 8, 0, 0),
58+
},
59+
{
60+
"title": u"And Now for Something Completely Different",
61+
"release_year": 1971,
62+
"length_minutes": 88.0,
63+
"release_date": datetime.datetime(
64+
1971, 9, 28, 23, 59, 7, tzinfo=pytz.timezone("Europe/London")
65+
),
66+
"dvd_release": datetime.datetime(2003, 10, 22, 10, 0, 0),
67+
},
3468
]
3569
dataframe = pandas.DataFrame(
3670
records,
3771
# In the loaded table, the column order reflects the order of the
3872
# columns in the DataFrame.
39-
columns=["title", "release_year"],
73+
columns=[
74+
"title",
75+
"release_year",
76+
"length_minutes",
77+
"release_date",
78+
"dvd_release",
79+
],
4080
# Optionally, set a named index, which can also be written to the
4181
# BigQuery table.
4282
index=pandas.Index(

bigquery/samples/tests/test_load_table_dataframe.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,17 @@ def test_load_table_dataframe(capsys, client, random_table_id):
2525

2626
table = load_table_dataframe.load_table_dataframe(client, random_table_id)
2727
out, _ = capsys.readouterr()
28-
assert "Loaded 4 rows and 3 columns" in out
28+
assert "Loaded 4 rows and 6 columns" in out
2929

3030
column_names = [field.name for field in table.schema]
31-
assert column_names == ["wikidata_id", "title", "release_year"]
31+
assert column_names == [
32+
"wikidata_id",
33+
"title",
34+
"release_year",
35+
"length_minutes",
36+
"release_date",
37+
"dvd_release",
38+
]
39+
40+
df = client.list_rows(table).to_dataframe()
41+
# TODO: sort and check values

0 commit comments

Comments
 (0)