input: Write a function to generate sample data for a web application using Python's faker library. The function should return a list of dictionaries, each containing three columns of data: name, email, and age. The age should be a random integer between 18 and 60, inclusive.
  assert generate_sample_data(10) == [{'name': 'John Doe', 'email': 'john.doe@example.com', 'age': 25}, {'name': 'Jane Smith', 'email': 'jane.smith@example.com', 'age': 30}, ..., {'name': 'Alice Johnson', 'email': 'alice.johnson@example.com', 'age': 45}]
output: 
  def generate_sample_data(n):
      from faker import Faker
      import random
      fake = Faker()
      data = []
      for _ in range(n):
          data.append({
              'name': fake.name(),
              'email': fake.email(),
              'age': random.randint(18, 60)
          })
      return data
  