def generateCSVs(single_trace_filename):
    """Generate the Read/Write Bandwidth figures"""
    trace_path, trace_filename = os.path.split(single_trace_filename)

    # the list contains all the accesses
    rlist = AccList()
    wlist = AccList()
    rlistEmpty = 1
    wlistEmpty = 1

    total_read_count = 0
    total_write_count = 0
    total_read_time = 0.0
    total_write_time = 0.0

    # Create and empty each CSV files, write the CSV title line
    output = os.path.join(sig._out_path, trace_filename + ".read.rate.csv")
    f = open(output, 'w')
    f.write("Time,Rate\n")
    f.close()
    output = os.path.join(sig._out_path, trace_filename + ".write.rate.csv")
    f = open(output, 'w')
    f.write("Time,Rate\n")
    f.close()

    output = os.path.join(sig._out_path, trace_filename + ".read.interval.csv")
    f = open(output, 'w')
    f.write("Begin,End\n")
    f.close()
    output = os.path.join(sig._out_path, trace_filename + ".write.interval.csv")
    f = open(output, 'w')
    f.write("Begin,End\n")
    f.close()

    output = os.path.join(sig._out_path, trace_filename + ".read.hole.sizes.csv")
    f = open(output, 'w')
    f.write("Time,Size\n")
    f.close()

    # open the trace file
    f = open(single_trace_filename, 'r')
    # skip the first several lines
    # Maybe the skipped lines are table heads
    for i in range(int(sig._format_prop['skip_lines'])):
        line = f.readline()