parser = argparse.ArgumentParser()
parser.add_argument("input_file", help='input name of the csv file')
parser.add_argument("output_file", help='name of the output file you want')
parser.add_argument("rows", help='input number of rows you want to divide your file', type=int)
args = parser.parse_args()
location = os.path.join(my_path, args.input_file)
if os.path.exists(location):
    with open(location, 'r') as my_inp_file:
        my_file_reader = csv.reader(my_inp_file)
        data = list(my_file_reader)
        row_count = len(data)
        if row_count < args.rows:
            print("You entered bigger number of rows than file has")
        else:
            field_names = data[0]
            parts = data[1:]
            # for x in my_file_reader:
            #     parts.append(x)
            number_of_files = int(math.ceil((row_count-1)/args.rows))
            for a in range(number_of_files):
                out = open((args.output_file + str(a) + ".csv"), "w")
                spamwriter = csv.writer(out)
                spamwriter.writerow(field_names)
                print("====================")
                for q in range(args.rows):
                    try:
                        spamwriter.writerow(parts[q])
                        print(parts[q])
                        del parts[q]
                    except IndexError:
                        continue

                out.close()

else:
    print("There is no such file...")