Python API: List Base Rows gives incomplete output

Hi,

I tried to list all rows of my table “Server” on my Base via following Python code:

from seatable_api import Base, context

server_url = context.server_url or 'https://seatable.myweb.com/'
api_token = context.api_token or 'my_token'


base = Base(api_token, server_url)
base.auth()
output = base.list_rows('Server')
print(output)

As the output got printed I already noticed it was way too short to contain all of my data. When extracting all IP-Adresses and counting the lines it gave me 12 IP-Adresses, whereby the “Server” Table contains at least 100 IP-Adresses.

The same problem occurs with base.list_columns. Only a shard of the expected data gets captured.
Is this a common problem or am I using the API in a wrong way? My goal is to just receive the full data, I dont want to add or move columns at all.

You can try to specify view_name parameter

Hi, I tried to change limit up and down as all other possible options. Sadly the output remains exactly the same.

Update: I managed to get full values of each Row with requesting every single row like that:

for n in range(0, 100):
    try:
        output = base.list_rows('Server')[n]
    expect Exception:
        pass

It seems this is due to connection errors with seatable . sometimes it returns “maximum 100 connections per minute”. idk if that is due to the free version limits or due to wrong settings, because my server has proven to be fast enough to handle requests in a time like this in other type of scripts already

I copied&pasted your code block in one of my test base in SeaTable Cloud (https://cloud.seatable.io).

This is what I got:

In short: SeaTable did exactly what it was supposed to do.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.