docs: def from_csv(self, csv_source, delimiter=","):
          """
          Set tabular attributes to the writer from a character-separated values (CSV) data source.
          Following attributes are set to the writer by the method:
  
          - :py:attr:`~.headers`.
          - :py:attr:`~.value_matrix`.
  
          :py:attr:`~.table_name` also be set if the CSV data source is a file.
          In that case, :py:attr:`~.table_name` is as same as the filename.
  
          :param str csv_source:
              Input CSV data source either can be designated CSV text or
              CSV file path.
  
          :Examples:
              :ref:`example-from-csv`
  
          :Dependency Packages:
              - `pytablereader <https://github.com/thombashi/pytablereader>`__
          """
  
          import pytablereader as ptr
  
          loader = ptr.CsvTableTextLoader(csv_source, quoting_flags=self._quoting_flags)
          loader.delimiter = delimiter
          try:
              for table_data in loader.load():
                  self.from_tabledata(table_data, is_overwrite_table_name=False)
              return
          except ptr.DataError:
              pass
  
          loader = ptr.CsvTableFileLoader(csv_source, quoting_flags=self._quoting_flags)
          loader.delimiter = delimiter
          for table_data in loader.load():
              self.from_tabledata(table_data)