Running a multi website and store setup.

Example 

Website - Japan
Store - JP
Store View - JP


I'm trying to import newsletter subscribers from a CSV.

I'm using the following code in a file called **import.php** that I run from the root dir. eg: dev.xyz.com/import.php and the subscribers.csv is also in the root dir.

    <?php
      ob_start();
    use Magento\Framework\App\Bootstrap;
    require __DIR__ . '/app/bootstrap.php';
    $store_id = 1;
    $csv_filepath = "subscribers.csv";
    $csv_delimiter = ',';
    $csv_enclosure = '"';
    $magento_path = __DIR__;
    
    $params = $_SERVER;
    
    $bootstrap = Bootstrap::create(BP, $params);
    
    $obj = $bootstrap->getObjectManager();
    
    $state = $obj->get('Magento\Framework\App\State');
    $state->setAreaCode('frontend');
    
    $websiteId =  $obj->get('Magento\Store\Model\StoreManagerInterface')
        ->getStore()
        ->getWebsiteId();
    
    $customerAccountManagement =$obj
        ->create('Magento\Customer\Api\AccountManagementInterface');
    
    $_subscriberFactory = $obj->create('Magento\Newsletter\Model\SubscriberFactory');
    
    
    if (($handle = fopen("subscribers-import.csv", "r")) !== FALSE) {
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            // email Id
            $emailId = $data[1];
           /* customer */
            if($customerAccountManagement->isEmailAvailable($emailId , $websiteId)){
                echo $emailId ."Guest <br/>";
                $_subscriberFactory = $_subscriberFactory->create()->subscribe($emailId );
            }else{
                echo $emailId ."Register <br/>";
                $customerFactory = $obj->get('Magento\Customer\Model\CustomerFactory');
                $customer=$customerFactory->create();
                $customer->setWebsiteId($websiteId);
                $customer->loadByEmail($emailId );// load customer by email address
                if($customer->getId()){
                    $_subscriberFactory->create()->subscribeCustomerById($customer->getId());
                }
    
            }
        }
        fclose($handle);
    }
     ob_end_flush();
    ?>

CSV Headers/Column names as follows:

**ID | Email |	Type |	Customer First Name |	Customer Last Name |	Status |	Website	Store |	Store View**

But I get the following error

    IDGuest
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/xyz/dev.xyz.com/import.php:36) in /home/xyz/dev.xyz.com/vendor/magento/framework/Stdlib/Cookie/PhpCookieManager.php on line 148
    
    Fatal error: Uncaught Magento\Framework\Stdlib\Cookie\FailureToSendException: The cookie with "mage-cache-sessid" cookieName couldn't be deleted. in /home/xyz/dev.xyz.com/vendor/magento/framework/Stdlib/Cookie/PhpCookieManager.php:154 Stack trace: #0 /home/xyz/dev.xyz.com/vendor/magento/framework/Stdlib/Cookie/PhpCookieManager.php(301): Magento\Framework\Stdlib\Cookie\PhpCookieManager->setCookie('mage-cache-sess...', '', Array) #1 /home/xyz/dev.xyz.com/vendor/magento/module-customer/CustomerData/Plugin/SessionChecker.php(54): Magento\Framework\Stdlib\Cookie\PhpCookieManager->deleteCookie('mage-cache-sess...', Object(Magento\Framework\Stdlib\Cookie\CookieMetadata)) #2 /home/xyz/dev.xyz.com/vendor/magento/framework/Interception/Interceptor.php(121): Magento\Customer\CustomerData\Plugin\SessionChecker->beforeStart(Object(Magento\Framework\Session\Generic\Interceptor)) #3 /home/xyz/dev.xyz.com/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\Sessio in /home/xyz/dev.xyz.com/vendor/magento/framework/Stdlib/Cookie/PhpCookieManager.php on line 154

How can I import newsletter subscribers from a CSV? 

Thanks in advance.

-----------------------
UPDATE
-----------------------
Changed code as suggested by Rajesh Hothi

Now I get the following error

    IDGuest
    
    Fatal error: Uncaught Exception: The input is not a valid email address. Use the basic format local-part@hostname in /home/xyz/dev.xyz.com/vendor/magento/module-newsletter/Model/Subscriber.php:501 Stack trace: #0 /home/xyz/dev.xyz.com/import.php(37): Magento\Newsletter\Model\Subscriber->subscribe('ID') #1 {main} thrown in /home/xyz/dev.xyz.com/vendor/magento/module-newsletter/Model/Subscriber.php on line 501


Format of CSV file shown below.

[![enter image description here][1]][1]

It uses comma ',' as seperator

 - ID,Email,Type,Customer First Name,Customer Last
   Name,Status,Website,Store,Store View
 - 1,[email protected],Customer,村瀬,康洋,Subscribed,Japan,JP,Japan
 - 2,[email protected],Guest, ----, ----,Subscribed,Japan,JP,Japan
 - 3,[email protected],Customer,TANAKA,MASAKI,Subscribed,Japan,JP,Japan
 - 4,[email protected],Customer,古賀,裕章,Subscribed,Japan,JP,Japan

It imports one line in which the email ID doesn't show and its not in the order of the csv file, as below.

[![enter image description here][2]][2]


**UPDATE 2**

Changed code as suggested by Raul Sanchez, it gave the same error, I figured it was the header row (row 1) that was causing error and removed it.

now it gives the following error

    [email protected]
    [email protected]
    
    Fatal error: Uncaught Error: Call to a member function create() on integer in /home/xyz/dev.xyz.com/import.php:37 Stack trace: #0 {main} thrown in /home/xyz/dev.xyz.com/import.php on line 37

it seems to be adding a Guest to the end of the email ID, and not importing the subscriber names, type, nor the correct website, store or store view.

[![enter image description here][3]][3]


  [1]: https://i.sstatic.net/W6VRB.png
  [2]: https://i.sstatic.net/WiICZ.png
  [3]: https://i.sstatic.net/T4WMR.png