code: def _exportPlotDataItem(self, plotDataItem) -> None:
      if hasattr(plotDataItem, "getOriginalDataset"):
          # try to access unmapped, unprocessed data
          cd = plotDataItem.getOriginalDataset()
      else:
          # fall back to earlier access method
          cd = plotDataItem.getData()
      if cd[0] is None:
          # no data found, break out...
          return None
      self.data.append(cd)
  
      index = next(self.index_counter)
      if plotDataItem.name() is not None:
          name = plotDataItem.name().replace('"', '""') + "_"
          xName = f"{name}x"
          yName = f"{name}y"
      else:
          xName = f"x{index:04}"
          yName = f"y{index:04}"
      appendAllX = self.params["columnMode"] == "(x,y) per plot"
      if appendAllX or index == 0:
          self.header.extend([xName, yName])
      else:
          self.header.extend([yName])
      return None
  
file_path: pyqtgraph/pyqtgraph/exporters/CSVExporter.py
imports: import csv
  import itertools
  import numpy
  from ..None import ErrorBarItem, PlotItem
  from ..parametertree import Parameter
  from ..Qt import QtCore
  from .Exporter import Exporter
label_desc: Use image node_id 4 for calling the CSVExporter obj's underlying member method code with example usage: obj._exportPlotDataItem(plotDataItem) and returns: None, None