Interpolating a expression from tabular data for a bilinear form

Hi. I want to implement a diffusion problem. Its bilinear form is:

D = 2 # diffusivity
c = Function(V) # concentration
c_ = TestFunction(V) 
form  = dot(grad(c), grad(c_))*D*dx 

However, diffusivity is a nonlinear function of concentration.
If I had diffusivity as an explicit function of concentrations, like D = c^2 + 2c, I could have just written it like

D = c**2+2*c
c = Function(V)
c_ = TestFunction(V)
form  = dot(grad(c), grad(c_))*D*dx

However, I have concentration vs diffusivity data in a tabular form.

How can I define the weak form in such a case? (without having to do curve fitting and getting an explicit analytical expression).