input: Write a function to create a machine learning program in Python that classifies text data into 3 different categories. The function should take a CSV file containing text data and corresponding categories as input, preprocess the data, train a Naive Bayes model, and output a classification report.
  
  assert create_text_classifier("data.csv") == "precision    recall  f1-score   support\n\n  1       0.89      0.91      0.90       100\n  2       0.84      0.82      0.83       100\n  3       0.92      0.93      0.92       100\n\naccuracy                           0.88       300\nmacro avg       0.88      0.88      0.88       300\nweighted avg       0.88      0.88      0.88       300"
  assert create_text_classifier("another_data.csv") == "precision    recall  f1-score   support\n\n  1       0.78      0.80      0.79       200\n  2       0.83      0.81      0.82       200\n  3       0.91      0.92      0.92       200\n\naccuracy                           0.84       600\nmacro avg       0.84      0.84      0.84       600\nweighted avg       0.84      0.84      0.84       600"
  assert create_text_classifier("empty.csv") == ""
output: 
  import pandas as pd
  from sklearn.feature_extraction.text import CountVectorizer
  from sklearn.naive_bayes import MultinomialNB
  from sklearn.metrics import classification_report
  from sklearn.model_selection import train_test_split
  
  def create_text_classifier(csv_file):
      df = pd.read_csv(csv_file)
      if df.empty:
          return ""
      
      X = df.iloc[:, 0]
      y = df.iloc[:, 1]
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      vectorizer = CountVectorizer()
      X_train_vec = vectorizer.fit_transform(X_train)
      X_test_vec = vectorizer.transform(X_test)
      
      model = MultinomialNB()
      model.fit(X_train_vec, y_train)
      
      y_pred = model.predict(X_test_vec)
      
      report = classification_report(y_test, y_pred, output_dict=False)
      return report
  