Analyze Shopify CSV files to extract option metadata.
Extracts all Option1..Option10 names and unique values from CSV for use in the import mapping UI.
Usage
CSVAnalyzer.analyze_options("/path/to/products.csv")
# => %{
# options: [
# %{name: "Size", position: 1, values: ["Small", "Medium", "Large"]},
# %{name: "Color", position: 2, values: ["Red", "Blue", "Green"]}
# ],
# total_products: 150,
# total_variants: 450
# }
Summary
Functions
Quick analysis - only extracts option names without values.
Analyzes a CSV file and extracts option metadata.
Compares CSV option values with global option values.
Functions
Quick analysis - only extracts option names without values.
Faster than full analysis, useful for initial UI display.
Analyzes a CSV file and extracts option metadata.
Returns a map with:
options- List of option definitions with name, position, and unique valuestotal_products- Number of unique product handlestotal_variants- Total number of variant rows
Examples
CSVAnalyzer.analyze_options("/tmp/products.csv")
# => %{
# options: [
# %{name: "Size", position: 1, values: ["S", "M", "L", "XL"]},
# %{name: "Cup Color", position: 2, values: ["Red", "Blue"]},
# %{name: "Liquid Color", position: 3, values: ["Clear", "Amber"]}
# ],
# total_products: 50,
# total_variants: 200
# }
Compares CSV option values with global option values.
Returns a map showing which values are new (not in global option).
Examples
CSVAnalyzer.compare_with_global_option(csv_values, global_option)
# => %{
# existing: ["Red", "Blue"],
# new: ["Yellow", "Purple"]
# }