Use this code you can skip the not exsist sku in magento 2 if you are updating anything in products
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 0);
set_time_limit(0);
error_reporting(E_ALL);
$file = fopen('despUpdate.csv', 'r', '"'); // set path to the CSV file
require __DIR__ . '/app/bootstrap.php';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('adminhtml');
$storeManager = $objectManager->get('\Magento\Store\Api\StoreRepositoryInterface');
$currentStore = $storeManager->get('en');
$websiteId = $currentStore->getWebsite()->getWebsiteId();
print_r($currentStore->getData());
// die();
// used for updating product stock - and it's important that it's inside the while loop
$stockRegistry = $objectManager->get('Magento\CatalogInventory\Api\StockRegistryInterface');
$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/stockupdate-new.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$header = fgetcsv($file); // get data headers and skip 1st row
$required_data_fields = 2;
$counter =0;
while ( $row = fgetcsv($file, 40000, ",") ) {
$data_count = count($row);
if ($data_count < 1)
{
continue;
}
$data = array();
$data = array_combine($header, $row);
$sku = $data['sku'];
// $desp = $data['description'];
$getShortDescription = $data['short_description'];
// $setStoreCode=$data['store_view_code'];
// $setWebsite=$data['product_websites'];
// $setStore=$data['store_id'];
if ($data_count < $required_data_fields)
{
$logger->info("Skipping product sku " . $sku . ", not all required fields are present to create the product.");
continue;
}
// $productCollectionFactory = $objectManager->get('\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
// $collection = $productCollectionFactory->create()->addAttributeToFilter('sku', $data['sku'])->setStore($currentStore)->load();
// foreach ($collection as $product)
// {
try {
$product = $objectManager->create('Magento\Catalog\Model\ProductRepository')->get($sku);
$productSku=$product->getSku();
$product->setData('short_description', $getShortDescription);
// $product->setWebsiteIds($websiteId);
//update the data the store wise
// $product->setData('store_view_code',$setStoreCode);
// $product->setData('website_id',$setWebsite);
// $product->setData('store_id',$setStore);
// for update the information on all store view
$product->setStoreId(0);
$product->save();
// print_r($product->getData());
echo "Product Update-".$sku.PHP_EOL;
} catch (Magento\Framework\Exception\NoSuchEntityException $e) {
$logger->info('Error importing product sku: '.$sku.'. '.$e->getMessage());
// $product = false;
continue;
}
}
fclose($file);
?>