Skip to content

Commit

Permalink
use load_data_from_csv
Browse files Browse the repository at this point in the history
  • Loading branch information
R-Palazzo committed Aug 14, 2023
1 parent b1cacea commit ab8352e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
5 changes: 3 additions & 2 deletions sdv/metadata/multi_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from sdv.metadata.utils import read_json, validate_file_does_not_exist
from sdv.metadata.visualization import (
create_columns_node, create_summarized_columns_node, visualize_graph)
from sdv.utils import cast_to_iterable
from sdv.utils import cast_to_iterable, load_data_from_csv

LOGGER = logging.getLogger(__name__)

Expand Down Expand Up @@ -371,7 +371,8 @@ def detect_table_from_csv(self, table_name, filepath):
"""
self._validate_table_not_detected(table_name)
table = SingleTableMetadata()
table.detect_from_csv(filepath)
data = load_data_from_csv(filepath)
table._detect_columns(data)
self.tables[table_name] = table
self._log_detected_table(table)

Expand Down
8 changes: 5 additions & 3 deletions tests/unit/metadata/test_multi_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -1589,7 +1589,8 @@ def test_update_column_table_does_not_exist(self):

@patch('sdv.metadata.multi_table.LOGGER')
@patch('sdv.metadata.multi_table.SingleTableMetadata')
def test_detect_table_from_csv(self, single_table_mock, log_mock):
@patch('sdv.metadata.multi_table.load_data_from_csv')
def test_detect_table_from_csv(self, load_csv_mock, single_table_mock, log_mock):
"""Test the ``detect_table_from_csv`` method.
If the table does not already exist, a ``SingleTableMetadata`` instance
Expand All @@ -1604,7 +1605,7 @@ def test_detect_table_from_csv(self, single_table_mock, log_mock):
# Setup
metadata = MultiTableMetadata()
fake_data = Mock()
single_table_mock.return_value.detect_from_csv.return_value = fake_data
load_csv_mock.return_value = fake_data
single_table_mock.return_value.to_dict.return_value = {
'columns': {'a': {'sdtype': 'numerical'}}
}
Expand All @@ -1613,7 +1614,8 @@ def test_detect_table_from_csv(self, single_table_mock, log_mock):
metadata.detect_table_from_csv('table', 'path.csv')

# Assert
single_table_mock.return_value.detect_from_csv.assert_called_once_with('path.csv')
load_csv_mock.assert_called_once_with('path.csv')
single_table_mock.return_value._detect_columns.assert_called_once_with(fake_data)
assert metadata.tables == {'table': single_table_mock.return_value}

expected_log_calls = call(
Expand Down

0 comments on commit ab8352e

Please sign in to comment.