We can use the following Suitelet for uploading a file and passing the contents. We can use the contents in the CSV file as per our requirements.
We can upload though the UI from the script:

Script:
/**
* @NApiVersion 2.0
* @NScriptType Suitelet
* @NModuleScope Public
*/
define(['N/ui/serverWidget', 'N/record','N/ui/message','N/search'], function(ui, record,message,search) {
function onRequest(context) {
var request = context.request;
var response = context.response;
if (request.method === 'GET') {
// Display the upload form
var form = createUploadForm(context);
response.writePage(form);
} else if (request.method === 'POST') {
// Process the uploaded file
var fileObj = request.files.file;
log.error("fileObj",fileObj)
if (fileObj) {
var successMessage = 'Sales orders have been created.';
log.error(successMessage)
} else {
var errorMessage = 'Please choose a file to upload.';
log.error(errorMessage)
}
}
}
/**
* Create the upload form
*/
function createUploadForm(context, Message) {
var form = ui.createForm({
title: 'Upload CSV File'
});
// Add a file field for the user to upload the CSV file
form.addField({
id: 'file',
type: ui.FieldType.FILE,
label: 'CSV File'
});
// Add a submit button to upload the file
form.addSubmitButton({
label: 'Upload'
});
return form;
}
function createSalesOrderFromCsv(context) {
var file = context.request.files.file;
if (file) {
// Parse the CSV file and we can use these values as per the requirements
var csvData = file.getContents();
var csvArray = csvData.split('\n');
log.error("csvData",csvData)
log.error("csvArray",csvArray)
} else {
log.error('No file', 'No file was uploaded');
}
}
return {
onRequest: onRequest
};
});