You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2023/08/11 19:51:29 UTC
[superset] branch master updated: fix(gsheets): add column names on file upload (#24963)
This is an automated email from the ASF dual-hosted git repository.
beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new a3d72e0ec7 fix(gsheets): add column names on file upload (#24963)
a3d72e0ec7 is described below
commit a3d72e0ec7be4dfb4b5bcfb1b69e565f3e959649
Author: Beto Dealmeida <ro...@dealmeida.net>
AuthorDate: Fri Aug 11 12:51:21 2023 -0700
fix(gsheets): add column names on file upload (#24963)
---
superset/db_engine_specs/gsheets.py | 4 +++-
tests/unit_tests/db_engine_specs/test_gsheets.py | 6 +++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/superset/db_engine_specs/gsheets.py b/superset/db_engine_specs/gsheets.py
index a9ec921188..c320df78dc 100644
--- a/superset/db_engine_specs/gsheets.py
+++ b/superset/db_engine_specs/gsheets.py
@@ -410,10 +410,12 @@ class GSheetsEngineSpec(ShillelaghEngineSpec):
spreadsheet_url = payload["spreadsheetUrl"]
# insert data
+ data = df.fillna("").values.tolist()
+ data.insert(0, df.columns.values.tolist())
body = {
"range": range_,
"majorDimension": "ROWS",
- "values": df.fillna("").values.tolist(),
+ "values": data,
}
url = (
"https://sheets.googleapis.com/v4/spreadsheets/"
diff --git a/tests/unit_tests/db_engine_specs/test_gsheets.py b/tests/unit_tests/db_engine_specs/test_gsheets.py
index 7d7348c1a3..c425a1bfe3 100644
--- a/tests/unit_tests/db_engine_specs/test_gsheets.py
+++ b/tests/unit_tests/db_engine_specs/test_gsheets.py
@@ -333,7 +333,7 @@ def test_upload_new(mocker: MockFixture) -> None:
database = mocker.MagicMock()
database.get_extra.return_value = {}
- df = pd.DataFrame([1, "foo", 3.0])
+ df = pd.DataFrame({"col": [1, "foo", 3.0]})
table = Table("sample_data")
GSheetsEngineSpec.df_to_sql(database, table, df, {})
@@ -367,7 +367,7 @@ def test_upload_existing(mocker: MockFixture) -> None:
"engine_params": {"catalog": {"sample_data": "https://docs.example.org"}}
}
- df = pd.DataFrame([1, "foo", 3.0])
+ df = pd.DataFrame({"col": [1, "foo", 3.0]})
table = Table("sample_data")
with pytest.raises(SupersetException) as excinfo:
@@ -392,7 +392,7 @@ def test_upload_existing(mocker: MockFixture) -> None:
json={
"range": "sheet0",
"majorDimension": "ROWS",
- "values": [[1], ["foo"], [3.0]],
+ "values": [["col"], [1], ["foo"], [3.0]],
},
params={"valueInputOption": "USER_ENTERED"},
),