Convert notion database to pandas
This commit is contained in:
21
main.py
21
main.py
@@ -1,9 +1,15 @@
|
|||||||
import configparser
|
import configparser
|
||||||
|
from notion.client import NotionClient
|
||||||
from notion.client import *
|
|
||||||
from notion.collection import NotionDate
|
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
from pprint import pprint
|
||||||
|
|
||||||
|
def get_dicts_of_all_items(cv) -> list:
|
||||||
|
return [row.get_all_properties() for row in cv.collection.get_rows()]
|
||||||
|
|
||||||
|
def convert_database_to_pandas(cv):
|
||||||
|
dataframe = pd.DataFrame(get_dicts_of_all_items(cv))
|
||||||
|
dataframe['ablaufdatum'] = [None if time is None else time.start for time in dataframe['ablaufdatum']]
|
||||||
|
return dataframe
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
@@ -13,11 +19,8 @@ def main():
|
|||||||
|
|
||||||
# Access a database using the URL of the database page or the inline block
|
# Access a database using the URL of the database page or the inline block
|
||||||
cv = client.get_collection_view(config.get("notion", "database_url"))
|
cv = client.get_collection_view(config.get("notion", "database_url"))
|
||||||
|
dataframe = convert_database_to_pandas(cv)
|
||||||
print(get_all_available_items(cv))
|
dataframe.to_csv("test.csv")
|
||||||
|
|
||||||
def get_all_available_items(cv):
|
|
||||||
return [row.name for row in cv.collection.get_rows() if int(row.anzahl) > 0]
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
Reference in New Issue
Block a user