I have this server side code in Anvil:
import anvil.files
from anvil.files import data_files
# Server-side code
import anvil.server
import pandas as pd
import io
from anvil import tables
@anvil.server.callable
def clean_and_process_data(file_string, model, capacity, renewed, unlocked, app_tables):
# Convert the string back to bytes
file_data = file_string.encode("utf-8")
# Create a BytesIO object from the file data
file_object = io.BytesIO(file_data)
# Read the uploaded CSV file into a DataFrame
df = pd.read_csv(file_object)
# Clean the DataFrame
df[['Date', 'Time']] = df['Time'].str.split(',', n=1, expand=True)
df = df.drop(columns=['Time', 'Sales Rank', 'List Price'])
df = df[['Date', 'New Price']]
df = df.dropna(subset=['New Price'])
df['Date'] = pd.to_datetime(df['Date'])
# Convert 'Date' column to DatetimeIndex
df.set_index('Date', inplace=True)
df.index = pd.DatetimeIndex(df.index)
# Resample the data
monthly_data = df.resample('M').mean()
# Reset index to convert back to DataFrame
monthly_data.reset_index(inplace=True)
# Iterate over the cleaned data and insert rows into the Anvil table
for row in monthly_data.itertuples(index=False):
app_tables.Price_Table.add_row(
date=row[0],
new_price=row[1],
model=model,
capacity=capacity,
renewed=renewed,
unlocked=unlocked
)
# Show a message or perform any other action after uploading the data
alert("Data uploaded successfully!")
but everytime I try to run the web app, it throws an error:
Exception: Files table not found. Please add one through the Data Files page of the Anvil Editor.
I have tried deleting and creating the same table but no avail.
source https://stackoverflow.com/questions/76656681/anvil-error-files-table-not-found-but-the-table-is-already-created
Comments
Post a Comment