-
Notifications
You must be signed in to change notification settings - Fork 537
Closed
Labels
status-triage_doneInitial triage done, will be further handled by the driver teamInitial triage done, will be further handled by the driver team
Description
Python version
Python 3.10.10 (tags/v3.10.10:aad5f6a, Feb 7 2023, 17:20:36) [MSC v.1929 64 bit (AMD64)]
Operating system and processor architecture
Windows-10-10.0.19045-SP0
Installed packages
snowflake-connector-python==3.11.0
snowflake-snowpark-python==1.18.0What did you do?
df = self.session.create_dataframe(rows, self.load_schema)
df.write.mode('append').save_as_table(self.mgt)What did you expect to see?
I expected the data to be written to the table, but got the error "not all arguments converted during string formatting" at
File "C:\Users\504019\AppData\Roaming\Python\Python310\site-packages\snowflake\connector\cursor.py", line 1388, in executemany
fmt % self._connection._process_params_pyformat(param, self)
Where the format (fmt) is a string, something like '(?,?,?,?,?)' and the right side the tuple with the data for the row.
If I change the line of code above to:
fmt.replace('?','%s') % self._connection._process_params_pyformat(param, self)
Then it works correctly. Similarly if I change the code original code to write row by row:
for row in rows:
df = self.session.create_dataframe([row], self.load_schema)
df.write.mode('append').save_as_table(self.mgt)
It also works!
Is this an issue with Snowpark or am I doing something stupid?
Can you set logging to DEBUG and collect the logs?
NoReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
status-triage_doneInitial triage done, will be further handled by the driver teamInitial triage done, will be further handled by the driver team