Skip to content

Instantly share code, notes, and snippets.

@aveek22
Created December 27, 2020 12:54
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save aveek22/c5f1844bdc4063d1f7ccfc72bd20b0fb to your computer and use it in GitHub Desktop.
Save aveek22/c5f1844bdc4063d1f7ccfc72bd20b0fb to your computer and use it in GitHub Desktop.
from flask import Flask
from flask_restful import Api, Resource, reqparse
import pandas as pd
app = Flask(__name__)
api = Api(app)
class Users(Resource):
def get(self):
data = pd.read_csv('users.csv')
data = data.to_dict('records')
return {'data' : data}, 200
def post(self):
parser = reqparse.RequestParser()
parser.add_argument('name', required=True)
parser.add_argument('age', required=True)
parser.add_argument('city', required=True)
args = parser.parse_args()
data = pd.read_csv('users.csv')
new_data = pd.DataFrame({
'name' : [args['name']],
'age' : [args['age']],
'city' : [args['city']]
})
data = data.append(new_data, ignore_index = True)
data.to_csv('users.csv', index=False)
return {'data' : new_data.to_dict('records')}, 201
def delete(self):
parser = reqparse.RequestParser()
parser.add_argument('name', required=True)
args = parser.parse_args()
data = pd.read_csv('users.csv')
data = data[data['name'] != args['name']]
data.to_csv('users.csv', index=False)
return {'message' : 'Record deleted successfully.'}, 200
# Add URL endpoints
api.add_resource(Users, '/users')
if __name__ == '__main__':
app.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment