I have started exploring Quip API.
I have created a spreadsheet in Quip with the below details:
- Added title of the spreadsheet
- Added below data in the spreadsheet:
id | name |
---|---|
1 | harry |
2 | hermione |
3 | ron |
And here is how I am trying to read from Quip:
import quip
import pandas as pd
import numpy as np
import html5lib
client = quip.QuipClient(token, base_url = baseurl)
rawdictionary = client.get_thread(thread_id)
dfs=pd.read_html(rawdictionary['html'])
raw_df = dfs[0]
raw_df.drop(raw_df.columns[[0]], axis = 1, inplace = True)
#raw_df.dropna(axis=0,inplace=True)
print(raw_df.replace(r'^\s+$', np.nan, regex=True))
I tried to drop rows with nan objects and also tried to replace blank strings with nan. However, I'm still seeing that these null rows and columns are appearing in the dataframe, for eg:
A B C D E F G H I J K L M N O P
0 id name
1 1 harry
2 2 hermione
3 3 ron
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Questions
- What is the best possible way of reading Quip spreadsheet via Python?
- How to clean the extra rows and columns and only process the rows with valid records and headers as
id
andname
in pandas dataframe? - After adding
raw_df.dropna(axis=0,inplace=True)
when I'm runningprint(raw_df)
, I'm gettingNone
. Why?
Quip automatically pulls in a number of extra blank columns and rows with \u200b unicode characters.
This is how I've resolved this: