yakine commited on
Commit
021bce4
·
verified ·
1 Parent(s): 6d53727

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -5
app.py CHANGED
@@ -111,6 +111,27 @@ def generate_synthetic_data(description, columns):
111
  return generated_text
112
  except Exception as e:
113
  return f"Error: {e}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
 
115
  @app.post("/generate/")
116
  def generate_data(request: DataGenerationRequest):
@@ -125,11 +146,7 @@ def generate_data(request: DataGenerationRequest):
125
  df_synthetic = process_generated_data(generated_data)
126
  return JSONResponse(content={"data": df_synthetic.to_dict(orient="records")})
127
 
128
- def process_generated_data(csv_data):
129
- csv_data = csv_data.strip()
130
- data = StringIO(csv_data)
131
- df = pd.read_csv(data)
132
- return df
133
 
134
  @app.get("/")
135
  def greet_json():
 
111
  return generated_text
112
  except Exception as e:
113
  return f"Error: {e}"
114
+
115
+ def clean_generated_text(generated_text):
116
+ # Extract CSV part using a regular expression
117
+ csv_match = re.search(r'(\n?([A-Za-z0-9_]+,)*[A-Za-z0-9_]+\n([^\n,]*,)*[^\n,]*\n*)+', generated_text)
118
+
119
+ if csv_match:
120
+ csv_text = csv_match.group(0)
121
+ else:
122
+ raise ValueError("No valid CSV data found in generated text.")
123
+
124
+ return csv_text
125
+
126
+ def process_generated_data(csv_data):
127
+ # Clean the generated data
128
+ cleaned_data = clean_generated_text(csv_data)
129
+
130
+ # Convert to DataFrame
131
+ data = StringIO(cleaned_data)
132
+ df = pd.read_csv(data)
133
+
134
+ return df
135
 
136
  @app.post("/generate/")
137
  def generate_data(request: DataGenerationRequest):
 
146
  df_synthetic = process_generated_data(generated_data)
147
  return JSONResponse(content={"data": df_synthetic.to_dict(orient="records")})
148
 
149
+
 
 
 
 
150
 
151
  @app.get("/")
152
  def greet_json():