In [29]:
from collections import OrderedDict

level0=None
level1=None
level2=None
level3=None

categories = OrderedDict()
cnt = 1
with open("Categories.txt",'rt') as fh:
    for ln in fh:
        ln = ln.rstrip()
        if ln == "":
            continue
        
        level = len(ln) - len(ln.lstrip("\t"))
            
        ln = ln.lstrip("\t")
        ln = ln.replace('\t', '/')
        
        if level == 4:
            
            if level3 is not None:
                parent = level3
            elif level2 is not None:
                parent = level2
            elif level1 is not None:
                parent = level1
            else:
                parent = level0
            
            
        elif level == 3:
            level3 = ln
            
            if level2 is not None:
                parent = level2
            elif level1 is not None:
                parent = level1
            else:
                parent = level0
        elif level ==2:
            level2 = ln
            level3 = None
            if level1 is not None:
                parent = level1
            else:
                parent = level0
        elif level ==1:
            level1 = ln
            level2 = None
            level3 = None
            parent = level0
        elif level == 0:
            level0 = ln 
            level1 = None
            level2 = None
            level3 = None
            parent = None
        
        if ln in categories:
            print(ln)
            continue
        
        
        categories[ln] = {'key':cnt, 'parent':parent, 'level':level}
        cnt+=1

In [31]:
for i in categories:
    level = categories[i]['level']
    spacing = "    " * level
    print("{0}{1}".format(spacing,i))
    categories[i]['list'] = "{0}{1}".format(spacing,i)


Integrated Circuits (ICs)
    Clock and Timing
        Clock Buffers, Drivers
        Clock Generators, PLLs, Frequency Synthesizers
        Real Time Clocks
        Timers and Oscillators
    Data Converter ICs
        Analog to Digital Converters (ADCs)
        Digital Potentiometers
        Digital to Analog Converters (DACs)
        Touch Screen Controllers
    Embedded Processors and Controllers
        CPLDs - Complex Programming Logic Devices
        DSPs - Digital Signal Processors
        FPGAs - Field Programmable Gate Arrays
        Microcontrollers
        Microprocessors
        Single Board Computers (SBCs)
    Interface ICs
        CODECs
        Ethernet Interface ICs
        RS-232 / RS-422 / RS-485 Interface ICs
        UART Interface ICs
        USB Interface ICs
    Linear ICs
        Amplifiers - Audio
        Amplifiers - Op Amps, Buffer, Instrumentation
        Comparators
    Logic ICs
        Buffers, Drivers and Transceivers
        Counters
        Decoders, Multiplexers
        Latches and Flip Flops
        Logic Gates
        Shift Registers
        Voltage Level Shifters
    Memory
        EEPROM
        FIFO
        Flash
        RAM
    Power Management ICs
        Battery Management
        Gate Drivers
        Hot Swap Controllers
        LED Drivers
        Motor Drivers
        Voltage References
        Voltage Regulators - Linear
        Voltage Regulators - Switching
        Voltage Supervisors
    RF Semiconductors and Devices
        RF Amplifiers
        RF Antennas
        RF Mixers
        RF Receivers, Transceivers
Discrete Semiconductors
    Diodes
        Rectifier Diodes
        Schottky Diodes
        Zener Diodes
    Thyristors
        DIACs, SIDACs
        SCRs
        TRIACs
    Transistors
        BJTs
        IGBTs
        JFETs
        MOSFETs
Passive Components
    Capacitors
        Aluminum Electrolytic Capacitors
        Capacitor Arrays
        Capacitor Kits
        Ceramic Capacitors
        Film Capacitors
        Mica Capacitors
        Polymer Capacitors
        Tantalum Capacitors
        Trimmer / Variable Capacitors
    Crystals / Oscillators
        Crystals
        Oscillators
        Resonators
    EMI / RFI Components
        Common Mode Chokes
        Ferrite Beads and Chips
    Inductors
        Fixed Inductors
        Inductor Kits
        Variable Inductors
    Resistors
        Chip SMD Resistors
        Resistor Arrays
        Resistor Kits
        Thermistors
        Through-Hole Resistors
        Variable Resistors and Potentiometers
        Wirewound Resistors
    Transformers
Electromechanical
    Audio Products
        Buzzers
        Microphones
        Speakers
    Motors and Drives
        DC Motors
        Motor Drives
        Stepper Motors
        Reducers, Clutches, Brakes
            Transmissions, Reducers
            Clutches, Brakes
        Small AC Motors
        Gear Motors
        Other Motor Related Components
        Servo Motors/Drives
    Relays
        Power Relays
        Signal Relays
        Solid State Relays
        Time Delay Relays
    Thermal Management
        Fans and Blowers
        Heat Sinks
Connectors
    Audio / Video Connectors
    Automotive Connectors
    Backplane Connectors
        DIN 41612 Connectors
        Hard Metric Connectors
    Board to Board Connectors
    Card Edge Connectors
    Circular Connectors
    D-Sub Connectors
    FFC / FPC
    Fiber Optic Connectors
    Headers and Wire Housings
    IC and Component Sockets
    Memory Connectors
    Modular / Ethernet Connectors
    Photovoltaic / Solar Connectors
    Power Connectors
    RF / Coaxial Connectors
    Terminal Blocks
    Terminals
    USB Connectors
Test Equipment
    Benchtop Power Supplies
    Function Generators
    Multimeters
    Oscilloscopes
    Spectrum Analyzers
    Test Probes, Leads and Clips
    Thermometers
Tools and Supplies
    Anti-Static Control
    Chemicals
    Enclosures
    Flashlights
    Hand Tools
        Drills
        Hammers
        Heat Guns
        Knives and Blades
        Micrometers
        Pliers and Tweezers
        Screw and Nut Drivers
        Wrenches
    Hardware, Fasteners
        Anchors
        Screws and Fasteners
        Spacers, Standoffs
        Thread Inserts
        Washers
    Prototype Boards and Breadboards
    Raw Materials
    Soldering Supplies and Tools
        Soldering Iron
        Soldering iron holder
        Solder Wire
        Solder absorbing wire
    Storage Bins
    Wire Crimpers and Strippers
Sensors
    Current Sensors
    Flow Sensors
    Magnetic Sensors
    Motion Sensors
        Accelerometers
        Gyroscopes
        Inertial Measurement Units (IMUs)
    Optical Sensors
        Photodiodes
        Photoelectric Sensors
        Phototransistor
    Pressure Sensors
    Proximity Sensors
    Temperature and Humidity Sensors
    Contact Switches
    Sensor Rails, DIN Rails
Optoelectronics
    Displays
        LCD, OLED, Graphic Displays
        LED Displays
    Fiber Optics
    LEDs
    Lamps
    Laser Products
    Optocouplers
Circuit Protection
    Circuit Breakers
    ESD and Circuit Protection ICs
    Fuse Holders
    Fuses
    PTC Resettable Fuses
    TVS Diodes
    Varistors
Power Products
    Batteries and Accessories
    DC to AC Inverters
    Power Supply Modules
        Board Mount Modules
        Off-Board Modules
        Wall Adapters
    Surge Protectors
    Uninterruptible Power Supply (UPS)
Cables and Wire
    Audio / Video Cables
    Bulk Hook-up Wire
    Bulk Multiple Conductor Cables
    Coaxial / RF Cable Assemblies
    D-Sub Cables
    Ethernet Cables
    FFC / FPC Cables
    Fiber Optic Cables
    Flat Ribbon Cables
    USB Cables
    Wire Protection and Management
        Cable Markers
        Cable Ties
        Heat Shrink Tubing
        Non-Heat Shrink Tubing and Sleeves
        Wire Ducting
    Zip tie
Machining
    Indexable Inserts
        Milling Inserts
        Parting and Grooving Inserts
        Threading Inserts
        Turning Inserts
    Indexable Tools
    Machine Cutting Tools
        Countersinks and Center Reamers
        Grooving Tools
        Jobber Length Drill Bits
        Routing End Mills
        Screw Machine Length Drill Bits
        Solid Boring Bars
        Taper Length Drill Bits
        Taps
        Thread Mills
    Machine Fluids
    Machine Tool Accessories
        Collets
        Drill Bushings
        Hand Knobs and Wheels
    Machinery
Industrial Control
    Panel Meters
    Programmable Logic Controllers (PLC)
    Temperature Controllers
Automation Components
    Linear Motion
        Linear Shafts
        Shaft Supports
        Shaft Collars
        Linear Bushings
        Ball Guides
        Spline Shaft
        Oil Free Bushings, Washers
            Oil Free Bushings
            Oil Free Washers
            Lubrication-Free Material (Round Bars, Pipes)
        Oil Free Plates, Guide Rails
            Oil Free Slide Plates
            Oil Free Guide Rails
            Standard Guide Rails
        Linear Guides
            Standard Linear Guides
            Linear Guide Accessories
            Needle Roller Guides
        Cable Carriers
            Cable Carrier Peripheral Components
        Ball Screw
        Support Units
        Lead Screws, Slide Screws
            Lead Screws
            Nuts for Lead Screws
            Lead Screw Support Units
            Slide Screws, Change Nuts
            Digital Position Indicators
            Stopper Plates
        Cross Roller
            Cross Roller Guides
            Cross Roller Tables
            Linear Ball Slides
        Linear Rails, V Guides, Oil Free Guides Units
            Linear Rails (Retainer Type)
            V Guides
            Linear Rails (Bearing Type)
            Linear Rails (Ball Roller Type)
            Lubrication-Free Guide Units
        Actuators
            Single Axis Robots
            Single Axis Actuators
            Belt Actuators/Drives and Accessories
            Single Axis Units (KU)
            Rod Style Actuators
    Rotary Motion
        Bearings
            Ball Bearings
            Roller Bearings
        Bearing Accessories
            Bearing Lock Nuts
            Bearing Spacers
            Bearing Shaft Screws
            Bearing Covers, Seals
            Shaft End Plates / Caps
            Bearing Balls
        Bearing Units
            Pillow Type
            Flange Type
            Other Shapes
        Bearings with Housings
        Cam Followers, Roller Followers
        Rotary Shafts, Drive Shafts
            Rotary Shafts
            Drive Shafts
        Cantilever Shafts
    Connecting Parts
        Fulcrum Pins
        Hinge Pins
        Hinge Bases, Hinge Plates, Hinge Bolt
        Links
        Rod End Bearings, Spherical Bearings
        Connecting Bars, Link Cables/Wires
    Rotary Power Transmission
        Shaft Couplings
            Flexible Shaft Couplings
            Rigid Type
            Universal Joints
            Chain Couplings
            Flange Couplings
            Large Specialty Couplings
        Keyless Bushing (Fastening Fittings)
        Timing Belts, Pulleys
            Timing Belt
            Timing Pulleys, Idlers
        Round Belts, Pulleys
            Round Belts
            Round Belt Pulleys, Idlers
        V Belts, Pulleys
            V Belt Pulleys, Idlers
                V Belt Pulleys
            V Belt
        Chains, Sprockets
            Chains
            Roller Chain Sprockets
            Idlers
            Chain Guides
            Chain Bolts, Turnbuckles
            Roller Chain Installation Equipment
            Cleaners and Lubricants for Chain
        Tensioners
            Tensioners (for Idler Set)
            Chain Guide Tensioners
            Auto Tensioners
        Gears
            Spur Gears
            Bevel Gears
            Helical Gear
            Worm Gears
            Rack Gears
            Ratchet
        Non-contact magnetic drives
        Other Belts, Pulleys
            Other Belts
    Locating, Positioning, Jigs & Fixtures
        Locating Pins, Bushings
            Bushings for Fixtures
            Locating Pins for Jigs and Fixtures
            Height Adjusting Pins
            Locating Pins
        Stop Pins, Stopper Blocks
            Stop Pins, Stopper Bolts
            Stopper Block
            Stoppers, Point Pads
        Adjustment Screws, Blocks
            Adjustment Screws
            Clamp Plates
            Adjusting Bolts
            Grub Screws
            Adjusting Blocks and Shims for Welding Fixtures
            Clamping Screws
            Stopper Bolts
            Leveling Screws
            Blocks for Adjusting Bolts
            Threaded Stopper Blocks, Brackets
        Locating and Guide Components
            Locating Block Sets
            Guides
            Rough Guide Pins
            Rough Guide for Welding Fixtures
        Plungers, Index Plungers
            Spring Plungers
            Special Purpose Plungers
            Ball Lock Pins, Slot Pins
            Roller Plungers
            Plunger Accessories
            Ball Buttons
            Other Peripheral Components
            Ball Plungers
            Indexing Plungers
        Toggle Clamp
            Horizontal Hold-Down Toggle Clamps
            Vertical Hold-Down Toggle Clamps
            Push-Pull Toggle Clamps
            Heavy Duty Welded Toggle Clamps
            Plier Clamps
            Pneumatic Clamps
            Toggle Clamp Accessories
        Workpiece Clamps
            Push-Down Clamps
            Straight Line Action Clamp
            Slide Pushers
    Contact Probes
    Pneumatics, Hydraulics
        Cylinders, Rotary Actuators
            Air Cylinders
                General Purpose Cylinders
                Compact Cylinders
                Cylinders with Guides
                Other Cylinders
            Pneumatic Slide Cylinders
            Rotary Actuators
            Clamp Cylinders
            Hands, Grippers
            Sensors for Cylinders
            Metal Fittings for Cylinders
            Hands, Fingers for Grippers
            Cylinder / Rotary Actuator / Gripper Accessories
        Cylinder Connecting Components
            Floating Joints
            Knuckle Joints
            Pushers
            Coupling Rod
        Filters, Regulators, Lubricators
            FRL Units
            Regulators, Pressure Boosting Valves
            Lubricators
            Drain
        Solenoid Valves
        Electromagnetic Valves
        Pneumatic Pipe Fittings
            One-Touch Couplings
            Miniature Couplings
            Tightening Fittings
        Tubes
            Fitting
            Valves
        Pressure, Flow Rate Sensors
            Pressure Sensors, Flow Rate Sensors
            Pressure Gauge
        Compressors, Blowers
            Blowers
        Vacuum Pumps, Vacuum Ejectors
    Vacuum Components
        Vacuum Fitting Parts
            Fittings for Vacuum Plumbing
                (NW/KF Standard) Plumbing Components, Flanges
                (NW/KF Standard) Clamps, Center Rings and Others
            Vacuum Plumbing Parts (JIS Standard)
            Vacuum Plumbing Parts (ISO-MF Standard)
            Vacuum Plumbing Parts (ICF Standard)
            Flexible Tubes for Vacuum
            Tubes, Hoses for Vacuum
        Vacuum Filters
        Vacuum Gauges
        Suction Cups, Components for Suctioning
            Suction Cups
            Vacuum Tweezers, Manual Wands
    Hydraulic Equipment
        Hydraulic Valves
            Flow Control (not throttle)
        Hydraulic Hoses, Adaptors
            Hydraulic Hoses
            Hydraulic Hose Adaptors
        Oil Gauges, Oil Caps
            Oil Gauges
    Spray Equipment And Accessories
        Air Blowing Accessories
        Nozzles
            Adjustable Hoses
            Air Nozzles
            Spray Nozzles
    Pipe, Tubes, Hoses & Fittings
        Steel Pipes, Copper Pipes, Stainless Steel Pipes
            Steel Tube
            Stainless Steel Pipes
            Copper Pipes
            PVC Pipes
            Plastic Pipes
            Pipe Accessories
        Screw Fittings
            Screw Fittings, Screw-In Type Flanges
            Hose Fittings
            Fittings for Stainless Steel Pipes
            Fittings for Steel Pipes and Copper Pipes
            Weld-On Type Fittings
            Welding Flanges
            Rotary / Swivel Joints
            Mechanical Type Pipe Fittings
            Plastic Pipe Fittings
            Elastic Pipe Fittings
            Fittings for PVC Pipes
        Couplers, One-Touch Joints
            Other Coupler, One-Touch Joint Related Components
            Ball Valves
            Needle Valves
            Gate Valves
            Globe Valves
            Butterfly Valves
            Diaphragm / Pinch Valves
            Air Operated Valves
            Valves for various applications
            Strainers
            Other Valve Related Components
        Safety Valves, Control Valves
        Pipe Supports
            Metal Fittings for Hung Plumbing
            Pipe Stand-off Clamps
            Floor Through Metal Fittings
            Level Bands
            Pipe U-Straps
            Pipe Saddle Clamps
            Pipe Support Brackets
            Pipe Clamps
        Manifolds
            Manifold Blocks
            Pipe Manifolds
            Rotary Manifolds
            Bracket With Fittings
            Aluminum Extrusion Manifolds
        Resins, Ducts, Flexible Hoses
            Hose Clamps
            Hose Reels
            Piping Parts for Duct Hoses
        Duct Hoses, Duct Plumbing Components
            Duct Hoses
            Ducts Fittings
            Duct Hose Accessories
            Duct Tubes
        Flexible Hoses
        Seal Materials
            O-Rings
            Gaskets
            Seal Washers, Others
            Sealing Caps
            Rubber Seal
    Heaters, Temperature Control
        Temperature Control Equipment
            Temperature Conditioning Components
        Temperature Sensors
            Thermocouples & Peripheral Components
        Heaters
            Cartridge Heaters
        Peltier Cooling Unit
    Aluminum Extrusions, Framing, Support & Posts
        Aluminum Extrusion and Brackets
            Aluminum Extrusions
            Brackets and Joint Parts
                90 degree Brackets
                Corner Brackets
                Blind Brackets
                Blind Joint Parts
                Post-Assembly Easy Brackets
                Block Brackets and Plate Brackets
                Angular Brackets
                Metal Brackets
            Nuts
            Bolts
            Frame Caps
            Slot Covers
            Handles for Aluminum Extrusions
            Hinges
            Catches and Locks
            Casters
            Foot Bases
            Adjuster Pads
            Panel Mounts
            Curtains, Sheets
            Door Sliders
            Conveyor Parts
            Clamps, Holders, Hooks
            Jigs, Maintenace Parts
        Pipe Frames
            Accessories for Pipe Frames
            Joints for Pipe Frames
                Metal Joints
                Plastic Joints
                Joints, Accessory Parts
            Casters for Pipe Frame
            Leveling Mounts for Pipe Frame
            Lifting Parts
            Conveyor Components
            Assembly Tools
            Pipe Frame Units
        Mounting Plates & Brackets
            Plates
            L-Brackets
            Round Plates
            Convex Bend Plates
            Z Plates
        Angle Plates
        Welded Standoffs, Metal Boxes
            Welded Standoffs
            Metal Boxes
        Posts, Strut Clamps, Stands
            Posts
            Strut Clamps
                Single Post
                Double Post
                Strut Clamps Accessories
            Post Stands
            Free Guide Arms, Magnet Bases
            Pipe Stands
            Rotary Connectors
            Spacer Blocks
    Casters, Leveling Mounts, Posts
    Doors, Cabinet Hardware
        Latch Handles, Locks, Keys
        Knobs, Screws
        Handles
    Springs, Shock Absorbers
        Springs
            Torsion Springs
            Tension Springs
            Disc Springs
            Constant Load Springs
            Other Springs
            Flat Springs
            Battery Springs
        Shock Absorbers, Gas Springs
    Adjusting, Fastening, Magnets
        Magnets
            Magnets - Round
            Magnets - Rectangular
            Magnets with Holders
            Magnets - Ball Type
            Magnets-Threaded
            Rubber Magnets
            Magnet Hooks / Holders
            Electromagnetic Holders, Rectifiers
        Washers, Collars
            Metal Washers, Collars
            Non-Metal Washers, Collars
        Shims
            Shim Tapes
            Shim Plates
            Shim Rings
            Rectangular Shims
        Hair Pins, Cotter Pins
        Machine Keys
        Retaining Rings
Materials
    Metal Materials
        Material Plates, Blocks
        Circular Plates
        Rods
        Pipes, Metal Tubes
        Hex Rods
        L-Shaped Angles
        U-Shaped Channels
        L-Shaped Blocks
        U-Shaped Blocks
        T-Shaped Blocks
        Inclined Blocks
    Resin Materials
        Resin Plates
        Resin Round Plates
        Resin Rods
        Resin Pipes
    Thermal Insulation Material
    Ceramics
    Glass Plate, Mirrored Plate
    Resin Covers (Transparent Resin)
        Transperent Resin Covers
        Transperent Resin Round Plates
        L-Shaped Plastic Covers
        U-Shaped Plastic Covers
        Plastic Cases
        Transparent Resin Rods
        Transparent Resin Hollow Tubes
    Perforated Metals, Fences, Nets, Panels
        Cover Panels
        Painted Panels
        Perforated Metals
        Expanded Metals
        Fences, Nets
        Plywood Panels
    Urethane, Rubber, Sponge, Felt
        Urethane, Rubber, Sponge, Felt - Sheets
        Urethane, Rubber, Sponge, Felt - Round Shape
        Rubber Cords, Rubber Sponge Ropes
        Adhesives / Mounting Components for Urethane, Rubber
    Mesh

In [36]:
def get_breadcrumb(entry):
    global categories
    breadcrumb = entry
    
    if categories[entry]['parent'] is None:
        return breadcrumb
    else:
        parent = categories[entry]['parent']
        breadcrumb = get_breadcrumb(parent) + " → " + breadcrumb
        return breadcrumb


Out[36]:
'Integrated Circuits (ICs) → Clock and Timing → Clock Buffers, Drivers'

In [39]:
max_entry = 0
max_list = 0
max_breadcrumb =0

fh = open("CategoriesWithParent.txt",'wt')
for i in categories:
    if categories[i]['parent'] is not None:
        parent = categories[i]['parent']
        parent_key = categories[parent]['key']
        categories[i]['parent_key'] = parent_key
    else:
        categories[i]['parent_key'] = None
    
    breadcrumb = get_breadcrumb(i)
    if len(breadcrumb) > max_breadcrumb:
        max_breadcrumb = len(breadcrumb)
    
    if len(i) > max_entry:
        max_entry = len(i)
    
    if len(categories[i]['list']) > max_list:
        max_list = len(categories[i]['list'])
    
    print("{0}\t{1}\t{2}\t{3}\t{4}".format(categories[i]['key'], i, categories[i]['parent_key'], categories[i]['list'],breadcrumb), file=fh)
fh.close()

In [40]:
print("{0}\t{1}\t{2}".format(max_entry, max_list, max_breadcrumb))


52	64	166

In [8]:
level0=None
level1=None
level2=None
level3=None

for i in categories:
    if 
    print(i)
    break


Integrated Circuits (ICs)

In [1]:
import mysql.connector
conn = mysql.connector.connect(user='django', password='sparhawk',
                              host='127.0.0.1',
                              database='partsdatabase')

conn.close()

In [46]:
data = list()
max_cat = 0
with open("CategoriesWithParent.txt",'rt') as fh:
    for ln in fh:
        line = ln.rstrip().split("\t")
        bn = int(line[0])
        category = line[1]
        lst = line[3]
        bc = line[4]
        if len(category) > max_cat:
            max_cat = len(category)
        
        parent_id = line[2] if line[2]!='None' else None
        data.append([bn,category,parent_id,lst,bc])

In [2]:
max_cat


Out[2]:
63

In [47]:
import mysql.connector
conn = mysql.connector.connect(user='django', password='sparhawk',
                              host='127.0.0.1',
                              database='partsdatabase')

command= "INSERT into `partsdatabase`.`category` (id,category,parent_id,list,breadcrumb) VALUES (%s,%s,%s,%s,%s)"
curs = conn.cursor()
for entry in data:
    try:
        curs.execute(command,entry)
        conn.commit()
    except mysql.connector.Error as err:
        if err.errno == 1062:
            continue
        else:
            raise(err)

curs.close()
conn.close()

In [6]:
manufacturers = list()
max_man=0
cnt = 0
with open("Manufacturers.txt",'rt') as fh:
    for ln in fh:
        cnt+=1
        lst = ln.rstrip().split("\t")
        if len(lst[1]) > max_man:
            max_man = len(lst[1])
        manufacturers.append([cnt, lst[1], None])

In [8]:
import mysql.connector
conn = mysql.connector.connect(user='django', password='sparhawk',
                              host='127.0.0.1',
                              database='partsdatabase')

command= "INSERT into `partsdatabase`.`manufacturer` (id,manufacturer,homepage_url) VALUES (%s,%s,%s)"
curs = conn.cursor()
for entry in manufacturers:
    try:
        curs.execute(command,entry)
        conn.commit()
    except mysql.connector.Error as err:
        if err.errno == 1062:
            continue
        else:
            print(entry)

curs.close()
conn.close()

In [10]:
supplier = list()
max_supp = 0
cnt = 0
with open("Distributor.txt",'rt') as fh:
    for ln in fh:
        cnt+=1
        lst = ln.rstrip().split("\t")
        if len(lst[1]) > max_supp:
            max_supp = len(lst[1])
        supplier.append([cnt, lst[1], None])

In [12]:
max_supp


Out[12]:
36

In [15]:
import mysql.connector
conn = mysql.connector.connect(user='django', password='sparhawk',
                              host='127.0.0.1',
                              database='partsdatabase')

command= "INSERT into `partsdatabase`.`supplier` (id,name,url) VALUES (%s,%s,%s)"
curs = conn.cursor()
for entry in supplier:
    try:
        curs.execute(command,entry)
        conn.commit()
    except mysql.connector.Error as err:
        if err.errno == 1062:
            continue
        else:
            print(entry)

curs.close()
conn.close()

In [2]:
package = list()
max_pack = 0
cnt = 0
with open("PackageClassification.txt",'rt') as fh:
    for ln in fh:
        cnt+=1
        lst = ln.rstrip().split("\t")
        package.append([cnt, lst[0], lst[1], lst[2], None])
package


Out[2]:
[[1, 'Chip Carrier', 'BCC', 'Bump Chip Carrier', None],
 [2, 'Flat packages', 'BQFP', 'Bumpered Quad Flat Pack', None],
 [3, 'Ball Grid Array', 'CBGA', 'Ceramic Ball Grid Array', None],
 [4, 'Surface Mount', 'CCGA', 'Ceramic Column Grid Array (CGA)', None],
 [5, 'Through-hole Packages', 'CDIP', 'Ceramic DIP', None],
 [6, 'Through-hole Packages', 'CERDIP', 'Glass sealed ceramic DIP', None],
 [7, 'Surface Mount', 'CERPACK', 'Ceramic package', None],
 [8, 'Flat packages', 'CFP', 'Ceramic Flat Pack', None],
 [9, 'Surface Mount', 'CGA', 'Column Grid Array', None],
 [10, 'Chip Carrier', 'CLCC', 'Ceramic Leadless Chip Carrier', None],
 [11, 'Chip-Scale Packages', 'COB', 'Chip-on-board', None],
 [12, 'Chip-Scale Packages', 'COF', 'Chip-on-flex', None],
 [13, 'Chip-Scale Packages', 'COG', 'Chip-on-glass', None],
 [14, 'Pin grid Arrays', 'CPGA', 'Ceramic Pin Grid Array', None],
 [15,
  'Flat packages',
  'CQFP',
  'Ceramic Quad Flat-Pack, similar to PQFP',
  None],
 [16, 'Small Outline Packages', 'CSOP', 'Ceramic Small Outline Package', None],
 [17, 'Chip-Scale Packages', 'CSP', 'Chip Scale Package', None],
 [18, 'Surface Mount', 'DDPAK', 'Double Decawatt Package', None],
 [19, 'Surface Mount', 'D2PAK', 'Double Decawatt Package', None],
 [20, 'Surface Mount', 'D3PAK', 'Decawatt Package 3', None],
 [21, 'Surface Mount', 'DPAK', 'Decawatt Package', None],
 [22, 'Flat packages', 'DFN', 'Dual Flat Pack', None],
 [23, 'Through-hole Packages', 'DIP', 'Dual in-line package', None],
 [24, 'Chip Carrier', 'DLCC', 'Dual Lead-Less Chip Carrier (Ceramic)', None],
 [25, 'Flat packages', 'ETQFP', 'Exposed Thin Quad Flat Package', None],
 [26, 'Ball Grid Array', 'FBGA', 'Fine Pitch Ball Grid Array', None],
 [27, 'Pin grid Arrays', 'FCPGA', 'Flip-chip Pin Grid Array', None],
 [28,
  'Small Outline Packages',
  'HSOP',
  'Thermally Enhanced Small-Outline Package',
  None],
 [29,
  'Flat packages',
  'HVQFN',
  'Heat-sink Very-thin Quad Flat-pack No-leads',
  None],
 [30, 'Chip Carrier', 'JLCC', 'J-Leaded Ceramic Chip Carrier', None],
 [31, 'Ball Grid Array', 'LBGA', 'Low Profile Ball Grid Array', None],
 [32, 'Chip Carrier', 'LLCC', 'Leadless Chip Carrier', None],
 [33, 'Chip Carrier', 'LCC', 'Leaded Chip Carrier', None],
 [34, 'Chip Carrier', 'LCCC', 'Leaded Ceramic Chip Carrier', None],
 [35,
  'Ball Grid Array',
  'LFBGA',
  'Low Profile Fine Pitch Ball Grid Array',
  None],
 [36, 'Surface Mount', 'LGA', 'Land Grid Array', None],
 [37, 'Surface Mount', 'LLP', 'Lead-Less lead-frame Package', None],
 [38, 'Flat packages', 'LQFP', 'Low-profile Quad Flat Package', None],
 [39, 'Surface Mount', 'LTCC', 'Low temperature co-fired ceramic', None],
 [40,
  'Ball Grid Array',
  'MAP-BGA',
  'Mold Array Process - Ball Grid Array',
  None],
 [41, 'Surface Mount', 'MCM', 'Multi-Chip Module', None],
 [42, 'Through-hole Packages', 'MDIP', 'Molded DIP', None],
 [43,
  'Transistor, diode, small pin count IC',
  'MELF',
  'Metal Electrode Leadless Face (usually for resistors and diodes)',
  None],
 [44,
  'Surface Mount',
  'MICRO SMDXT',
  'Micro Surface Mount Device extended technology',
  None],
 [45, 'Surface Mount', 'MLP', 'Micro Leadframe Package', None],
 [46, 'Flat packages', 'MQFP', 'Metric Quad Flat Package', None],
 [47, 'Small Outline Packages', 'MSOP', 'Mini Small-Outline Package', None],
 [48, 'Ball Grid Array', 'OBGA', 'Organic Ball Grid Array', None],
 [49, 'Flat packages', 'ODFN', 'Optical Dual Flat No-Lead', None],
 [50, 'Pin grid Arrays', 'OPGA', 'Organic Pin Grid Array', None],
 [51, 'Pin grid Arrays', 'PAC', 'Pin Array Cartridge', None],
 [52, 'Ball Grid Array', 'PBGA', 'Plastic Ball Grid Array', None],
 [53, 'Through-hole Packages', 'PDIP', 'Plastic DIP', None],
 [54, 'Pin grid Arrays', 'PGA', 'Pin grid array', None],
 [55, 'Chip Carrier', 'PLCC', 'Plastic Leaded Chip Carrier', None],
 [56, 'Pin grid Arrays', 'PPGA', 'Plastic Pin Grid Array', None],
 [57, 'Flat packages', 'PQFN', 'Power Quad Flat-Pack', None],
 [58, 'Flat packages', 'PQFP', 'Plastic Quad Flat Package', None],
 [59,
  'Small Outline Packages',
  'PSON',
  'Plastic Small-Outline No-Lead Package',
  None],
 [60, 'Small Outline Packages', 'PSOP', 'Plastic Small-Outline Package', None],
 [61, 'Flat packages', 'QFN', 'Quad Flat No-leads package', None],
 [62, 'Flat packages', 'QFP', 'Quad Flat Package', None],
 [63, 'Through-hole Packages', 'QIP', 'Quadruple in-line package', None],
 [64,
  'Small Outline Packages',
  'QSOP',
  'Quarter-Size Small-Outline Package',
  None],
 [65, 'Ball Grid Array', 'SBGA', 'Super Ball Grid Array', None],
 [66,
  'Through-hole Packages',
  'SBDIP',
  'Sidebraze Dual-In-Line Package',
  None],
 [67, 'Surface Mount', 'SC', 'Small Outline Transistor', None],
 [68, 'Through-hole Packages', 'SDIP', 'Skinny DIP', None],
 [69, 'Through-hole Packages', 'SIP', 'Single in-line package', None],
 [70,
  'Transistor, diode, small pin count IC',
  'SOD',
  'Small Outline Diode.',
  None],
 [71,
  'Small Outline Packages',
  'SOIC',
  'Small Outline Integrated Circuit',
  None],
 [72, 'Small Outline Packages', 'SOJ', 'Small Outline J-Lead Package', None],
 [73, 'Small Outline Packages', 'SOP', 'Small Outline Package', None],
 [74,
  'Transistor, diode, small pin count IC',
  'SOT',
  'Small-outline transistor (also SOT-23, SOT-223, SOT-323).',
  None],
 [75,
  'Through-hole Packages',
  'SPDIP',
  'Shrink Plastic Dual-In-Line Package',
  None],
 [76, 'Small Outline Packages', 'SSOP', 'Shrink Small-Outline Package', None],
 [77, 'Ball Grid Array', 'TBGA', 'Thin Ball Grid Array', None],
 [78, 'Chip-Scale Packages', 'TCSP', 'True Chip Size Package', None],
 [79, 'Flat packages', 'TDFN', 'Thin Diual Flat No Leads Package', None],
 [80, 'Chip-Scale Packages', 'TDSP', 'True Die Size Package', None],
 [81,
  'Ball Grid Array',
  'TEPBGA',
  'Thermally Enhanced Plastic Ball Grid Array',
  None],
 [82, 'Ball Grid Array', 'TFBGA', 'Thin Fine Pitch Ball Grid Array', None],
 [83, 'Through-hole Packages', 'TH', 'Basic Through-Hole', None],
 [84,
  'Transistor, diode, small pin count IC',
  'TO-XX',
  'Transistor Outline',
  None],
 [85, 'Flat packages', 'TQFN', 'Thin Quad Flat No-Lead', None],
 [86, 'Flat packages', 'TQFP', 'Thin Quad Flat Pack', None],
 [87, 'Small Outline Packages', 'TSOP', 'Thin Small-Outline Package', None],
 [88,
  'Small Outline Packages',
  'TSSOP',
  'Thin Shrink Small Outline Package',
  None],
 [89,
  'Small Outline Packages',
  'TVSOP',
  'Thin Very Small-Outline Package',
  None],
 [90, 'Ball Grid Array', 'UCSP', 'Micro (μ) Chip Scale Package', None],
 [91, 'Ball Grid Array', 'UFBGA', 'Ultra Fine Ball Grid Aarray', None],
 [92, 'Flat packages', 'UQFN', 'Ultra Thin Quad Flat Pack No-Lead', None],
 [93, 'Flat packages', 'UTQFN', 'Ultra Thin Quad Flat Pack No-Lead', None],
 [94, 'Flat packages', 'VQFN', 'Very Thin Quad Flat No-Lead', None],
 [95, 'Flat packages', 'VQFP', 'Very-thin Quad Flat Pack', None],
 [96, 'Chip-Scale Packages', 'WCSP', 'Wafer-level Chip Scale Package', None],
 [97, 'Flat packages', 'WQFN', 'Very Very Thin Quad Flat No-Lead', None],
 [98,
  'Small Outline Packages',
  'WSON',
  'Very Very Thin Small Outline No Lead Package',
  None],
 [99, 'Through-hole Packages', 'ZIP', 'Zig-zag in-line package', None],
 [100, 'Ball Grid Array', 'μBGA', 'Micro-Ball Grid Array', None],
 [101, 'Small Outline Packages', 'µMAX', 'Micro Max', None]]

In [19]:
import mysql.connector
conn = mysql.connector.connect(user='django', password='sparhawk',
                              host='127.0.0.1',
                              database='partsdatabase')

command= "INSERT into `partsdatabase`.`package_classification` (id,type,abbreviation,classification,description) VALUES (%s,%s,%s,%s,%s)"
curs = conn.cursor()
for entry in package:
    try:
        curs.execute(command,entry)
        conn.commit()
    except mysql.connector.Error as err:
        if err.errno == 1062:
            continue
        else:
            raise(err)

curs.close()
conn.close()

In [ ]:


In [21]:
curs.close()
conn.close()

In [15]:
storage_box = list()
for x in range(1,13):
    for y in range(1,37):
        storage_box.append(["SB{0}-{1}".format(x,y), "Storage Box #{0}, Bin #{1}".format(x,y)])



a_bin = [["A{0}".format(x), "Storage Cabinet A, Drawer #{0}".format(x)] for x in range(1,21)]
b_box = [["B{0}".format(x), "Storage Cabinet B, Drawer #{0}".format(x)] for x in range(1,37)]
c_bin = [["C{0}".format(x), "Storage Cabinet C, Drawer #{0}".format(x)] for x in range(1,27)]
d_bin = [["D{0}".format(x), "Storage Cabinet D, Drawer #{0}".format(x)] for x in range(1,27)]

In [20]:
storage = storage_box + a_bin + b_box + c_bin + d_bin
storage


Out[20]:
[['SB1-1', 'Storage Box #1, Bin #1'],
 ['SB1-2', 'Storage Box #1, Bin #2'],
 ['SB1-3', 'Storage Box #1, Bin #3'],
 ['SB1-4', 'Storage Box #1, Bin #4'],
 ['SB1-5', 'Storage Box #1, Bin #5'],
 ['SB1-6', 'Storage Box #1, Bin #6'],
 ['SB1-7', 'Storage Box #1, Bin #7'],
 ['SB1-8', 'Storage Box #1, Bin #8'],
 ['SB1-9', 'Storage Box #1, Bin #9'],
 ['SB1-10', 'Storage Box #1, Bin #10'],
 ['SB1-11', 'Storage Box #1, Bin #11'],
 ['SB1-12', 'Storage Box #1, Bin #12'],
 ['SB1-13', 'Storage Box #1, Bin #13'],
 ['SB1-14', 'Storage Box #1, Bin #14'],
 ['SB1-15', 'Storage Box #1, Bin #15'],
 ['SB1-16', 'Storage Box #1, Bin #16'],
 ['SB1-17', 'Storage Box #1, Bin #17'],
 ['SB1-18', 'Storage Box #1, Bin #18'],
 ['SB1-19', 'Storage Box #1, Bin #19'],
 ['SB1-20', 'Storage Box #1, Bin #20'],
 ['SB1-21', 'Storage Box #1, Bin #21'],
 ['SB1-22', 'Storage Box #1, Bin #22'],
 ['SB1-23', 'Storage Box #1, Bin #23'],
 ['SB1-24', 'Storage Box #1, Bin #24'],
 ['SB1-25', 'Storage Box #1, Bin #25'],
 ['SB1-26', 'Storage Box #1, Bin #26'],
 ['SB1-27', 'Storage Box #1, Bin #27'],
 ['SB1-28', 'Storage Box #1, Bin #28'],
 ['SB1-29', 'Storage Box #1, Bin #29'],
 ['SB1-30', 'Storage Box #1, Bin #30'],
 ['SB1-31', 'Storage Box #1, Bin #31'],
 ['SB1-32', 'Storage Box #1, Bin #32'],
 ['SB1-33', 'Storage Box #1, Bin #33'],
 ['SB1-34', 'Storage Box #1, Bin #34'],
 ['SB1-35', 'Storage Box #1, Bin #35'],
 ['SB1-36', 'Storage Box #1, Bin #36'],
 ['SB2-1', 'Storage Box #2, Bin #1'],
 ['SB2-2', 'Storage Box #2, Bin #2'],
 ['SB2-3', 'Storage Box #2, Bin #3'],
 ['SB2-4', 'Storage Box #2, Bin #4'],
 ['SB2-5', 'Storage Box #2, Bin #5'],
 ['SB2-6', 'Storage Box #2, Bin #6'],
 ['SB2-7', 'Storage Box #2, Bin #7'],
 ['SB2-8', 'Storage Box #2, Bin #8'],
 ['SB2-9', 'Storage Box #2, Bin #9'],
 ['SB2-10', 'Storage Box #2, Bin #10'],
 ['SB2-11', 'Storage Box #2, Bin #11'],
 ['SB2-12', 'Storage Box #2, Bin #12'],
 ['SB2-13', 'Storage Box #2, Bin #13'],
 ['SB2-14', 'Storage Box #2, Bin #14'],
 ['SB2-15', 'Storage Box #2, Bin #15'],
 ['SB2-16', 'Storage Box #2, Bin #16'],
 ['SB2-17', 'Storage Box #2, Bin #17'],
 ['SB2-18', 'Storage Box #2, Bin #18'],
 ['SB2-19', 'Storage Box #2, Bin #19'],
 ['SB2-20', 'Storage Box #2, Bin #20'],
 ['SB2-21', 'Storage Box #2, Bin #21'],
 ['SB2-22', 'Storage Box #2, Bin #22'],
 ['SB2-23', 'Storage Box #2, Bin #23'],
 ['SB2-24', 'Storage Box #2, Bin #24'],
 ['SB2-25', 'Storage Box #2, Bin #25'],
 ['SB2-26', 'Storage Box #2, Bin #26'],
 ['SB2-27', 'Storage Box #2, Bin #27'],
 ['SB2-28', 'Storage Box #2, Bin #28'],
 ['SB2-29', 'Storage Box #2, Bin #29'],
 ['SB2-30', 'Storage Box #2, Bin #30'],
 ['SB2-31', 'Storage Box #2, Bin #31'],
 ['SB2-32', 'Storage Box #2, Bin #32'],
 ['SB2-33', 'Storage Box #2, Bin #33'],
 ['SB2-34', 'Storage Box #2, Bin #34'],
 ['SB2-35', 'Storage Box #2, Bin #35'],
 ['SB2-36', 'Storage Box #2, Bin #36'],
 ['SB3-1', 'Storage Box #3, Bin #1'],
 ['SB3-2', 'Storage Box #3, Bin #2'],
 ['SB3-3', 'Storage Box #3, Bin #3'],
 ['SB3-4', 'Storage Box #3, Bin #4'],
 ['SB3-5', 'Storage Box #3, Bin #5'],
 ['SB3-6', 'Storage Box #3, Bin #6'],
 ['SB3-7', 'Storage Box #3, Bin #7'],
 ['SB3-8', 'Storage Box #3, Bin #8'],
 ['SB3-9', 'Storage Box #3, Bin #9'],
 ['SB3-10', 'Storage Box #3, Bin #10'],
 ['SB3-11', 'Storage Box #3, Bin #11'],
 ['SB3-12', 'Storage Box #3, Bin #12'],
 ['SB3-13', 'Storage Box #3, Bin #13'],
 ['SB3-14', 'Storage Box #3, Bin #14'],
 ['SB3-15', 'Storage Box #3, Bin #15'],
 ['SB3-16', 'Storage Box #3, Bin #16'],
 ['SB3-17', 'Storage Box #3, Bin #17'],
 ['SB3-18', 'Storage Box #3, Bin #18'],
 ['SB3-19', 'Storage Box #3, Bin #19'],
 ['SB3-20', 'Storage Box #3, Bin #20'],
 ['SB3-21', 'Storage Box #3, Bin #21'],
 ['SB3-22', 'Storage Box #3, Bin #22'],
 ['SB3-23', 'Storage Box #3, Bin #23'],
 ['SB3-24', 'Storage Box #3, Bin #24'],
 ['SB3-25', 'Storage Box #3, Bin #25'],
 ['SB3-26', 'Storage Box #3, Bin #26'],
 ['SB3-27', 'Storage Box #3, Bin #27'],
 ['SB3-28', 'Storage Box #3, Bin #28'],
 ['SB3-29', 'Storage Box #3, Bin #29'],
 ['SB3-30', 'Storage Box #3, Bin #30'],
 ['SB3-31', 'Storage Box #3, Bin #31'],
 ['SB3-32', 'Storage Box #3, Bin #32'],
 ['SB3-33', 'Storage Box #3, Bin #33'],
 ['SB3-34', 'Storage Box #3, Bin #34'],
 ['SB3-35', 'Storage Box #3, Bin #35'],
 ['SB3-36', 'Storage Box #3, Bin #36'],
 ['SB4-1', 'Storage Box #4, Bin #1'],
 ['SB4-2', 'Storage Box #4, Bin #2'],
 ['SB4-3', 'Storage Box #4, Bin #3'],
 ['SB4-4', 'Storage Box #4, Bin #4'],
 ['SB4-5', 'Storage Box #4, Bin #5'],
 ['SB4-6', 'Storage Box #4, Bin #6'],
 ['SB4-7', 'Storage Box #4, Bin #7'],
 ['SB4-8', 'Storage Box #4, Bin #8'],
 ['SB4-9', 'Storage Box #4, Bin #9'],
 ['SB4-10', 'Storage Box #4, Bin #10'],
 ['SB4-11', 'Storage Box #4, Bin #11'],
 ['SB4-12', 'Storage Box #4, Bin #12'],
 ['SB4-13', 'Storage Box #4, Bin #13'],
 ['SB4-14', 'Storage Box #4, Bin #14'],
 ['SB4-15', 'Storage Box #4, Bin #15'],
 ['SB4-16', 'Storage Box #4, Bin #16'],
 ['SB4-17', 'Storage Box #4, Bin #17'],
 ['SB4-18', 'Storage Box #4, Bin #18'],
 ['SB4-19', 'Storage Box #4, Bin #19'],
 ['SB4-20', 'Storage Box #4, Bin #20'],
 ['SB4-21', 'Storage Box #4, Bin #21'],
 ['SB4-22', 'Storage Box #4, Bin #22'],
 ['SB4-23', 'Storage Box #4, Bin #23'],
 ['SB4-24', 'Storage Box #4, Bin #24'],
 ['SB4-25', 'Storage Box #4, Bin #25'],
 ['SB4-26', 'Storage Box #4, Bin #26'],
 ['SB4-27', 'Storage Box #4, Bin #27'],
 ['SB4-28', 'Storage Box #4, Bin #28'],
 ['SB4-29', 'Storage Box #4, Bin #29'],
 ['SB4-30', 'Storage Box #4, Bin #30'],
 ['SB4-31', 'Storage Box #4, Bin #31'],
 ['SB4-32', 'Storage Box #4, Bin #32'],
 ['SB4-33', 'Storage Box #4, Bin #33'],
 ['SB4-34', 'Storage Box #4, Bin #34'],
 ['SB4-35', 'Storage Box #4, Bin #35'],
 ['SB4-36', 'Storage Box #4, Bin #36'],
 ['SB5-1', 'Storage Box #5, Bin #1'],
 ['SB5-2', 'Storage Box #5, Bin #2'],
 ['SB5-3', 'Storage Box #5, Bin #3'],
 ['SB5-4', 'Storage Box #5, Bin #4'],
 ['SB5-5', 'Storage Box #5, Bin #5'],
 ['SB5-6', 'Storage Box #5, Bin #6'],
 ['SB5-7', 'Storage Box #5, Bin #7'],
 ['SB5-8', 'Storage Box #5, Bin #8'],
 ['SB5-9', 'Storage Box #5, Bin #9'],
 ['SB5-10', 'Storage Box #5, Bin #10'],
 ['SB5-11', 'Storage Box #5, Bin #11'],
 ['SB5-12', 'Storage Box #5, Bin #12'],
 ['SB5-13', 'Storage Box #5, Bin #13'],
 ['SB5-14', 'Storage Box #5, Bin #14'],
 ['SB5-15', 'Storage Box #5, Bin #15'],
 ['SB5-16', 'Storage Box #5, Bin #16'],
 ['SB5-17', 'Storage Box #5, Bin #17'],
 ['SB5-18', 'Storage Box #5, Bin #18'],
 ['SB5-19', 'Storage Box #5, Bin #19'],
 ['SB5-20', 'Storage Box #5, Bin #20'],
 ['SB5-21', 'Storage Box #5, Bin #21'],
 ['SB5-22', 'Storage Box #5, Bin #22'],
 ['SB5-23', 'Storage Box #5, Bin #23'],
 ['SB5-24', 'Storage Box #5, Bin #24'],
 ['SB5-25', 'Storage Box #5, Bin #25'],
 ['SB5-26', 'Storage Box #5, Bin #26'],
 ['SB5-27', 'Storage Box #5, Bin #27'],
 ['SB5-28', 'Storage Box #5, Bin #28'],
 ['SB5-29', 'Storage Box #5, Bin #29'],
 ['SB5-30', 'Storage Box #5, Bin #30'],
 ['SB5-31', 'Storage Box #5, Bin #31'],
 ['SB5-32', 'Storage Box #5, Bin #32'],
 ['SB5-33', 'Storage Box #5, Bin #33'],
 ['SB5-34', 'Storage Box #5, Bin #34'],
 ['SB5-35', 'Storage Box #5, Bin #35'],
 ['SB5-36', 'Storage Box #5, Bin #36'],
 ['SB6-1', 'Storage Box #6, Bin #1'],
 ['SB6-2', 'Storage Box #6, Bin #2'],
 ['SB6-3', 'Storage Box #6, Bin #3'],
 ['SB6-4', 'Storage Box #6, Bin #4'],
 ['SB6-5', 'Storage Box #6, Bin #5'],
 ['SB6-6', 'Storage Box #6, Bin #6'],
 ['SB6-7', 'Storage Box #6, Bin #7'],
 ['SB6-8', 'Storage Box #6, Bin #8'],
 ['SB6-9', 'Storage Box #6, Bin #9'],
 ['SB6-10', 'Storage Box #6, Bin #10'],
 ['SB6-11', 'Storage Box #6, Bin #11'],
 ['SB6-12', 'Storage Box #6, Bin #12'],
 ['SB6-13', 'Storage Box #6, Bin #13'],
 ['SB6-14', 'Storage Box #6, Bin #14'],
 ['SB6-15', 'Storage Box #6, Bin #15'],
 ['SB6-16', 'Storage Box #6, Bin #16'],
 ['SB6-17', 'Storage Box #6, Bin #17'],
 ['SB6-18', 'Storage Box #6, Bin #18'],
 ['SB6-19', 'Storage Box #6, Bin #19'],
 ['SB6-20', 'Storage Box #6, Bin #20'],
 ['SB6-21', 'Storage Box #6, Bin #21'],
 ['SB6-22', 'Storage Box #6, Bin #22'],
 ['SB6-23', 'Storage Box #6, Bin #23'],
 ['SB6-24', 'Storage Box #6, Bin #24'],
 ['SB6-25', 'Storage Box #6, Bin #25'],
 ['SB6-26', 'Storage Box #6, Bin #26'],
 ['SB6-27', 'Storage Box #6, Bin #27'],
 ['SB6-28', 'Storage Box #6, Bin #28'],
 ['SB6-29', 'Storage Box #6, Bin #29'],
 ['SB6-30', 'Storage Box #6, Bin #30'],
 ['SB6-31', 'Storage Box #6, Bin #31'],
 ['SB6-32', 'Storage Box #6, Bin #32'],
 ['SB6-33', 'Storage Box #6, Bin #33'],
 ['SB6-34', 'Storage Box #6, Bin #34'],
 ['SB6-35', 'Storage Box #6, Bin #35'],
 ['SB6-36', 'Storage Box #6, Bin #36'],
 ['SB7-1', 'Storage Box #7, Bin #1'],
 ['SB7-2', 'Storage Box #7, Bin #2'],
 ['SB7-3', 'Storage Box #7, Bin #3'],
 ['SB7-4', 'Storage Box #7, Bin #4'],
 ['SB7-5', 'Storage Box #7, Bin #5'],
 ['SB7-6', 'Storage Box #7, Bin #6'],
 ['SB7-7', 'Storage Box #7, Bin #7'],
 ['SB7-8', 'Storage Box #7, Bin #8'],
 ['SB7-9', 'Storage Box #7, Bin #9'],
 ['SB7-10', 'Storage Box #7, Bin #10'],
 ['SB7-11', 'Storage Box #7, Bin #11'],
 ['SB7-12', 'Storage Box #7, Bin #12'],
 ['SB7-13', 'Storage Box #7, Bin #13'],
 ['SB7-14', 'Storage Box #7, Bin #14'],
 ['SB7-15', 'Storage Box #7, Bin #15'],
 ['SB7-16', 'Storage Box #7, Bin #16'],
 ['SB7-17', 'Storage Box #7, Bin #17'],
 ['SB7-18', 'Storage Box #7, Bin #18'],
 ['SB7-19', 'Storage Box #7, Bin #19'],
 ['SB7-20', 'Storage Box #7, Bin #20'],
 ['SB7-21', 'Storage Box #7, Bin #21'],
 ['SB7-22', 'Storage Box #7, Bin #22'],
 ['SB7-23', 'Storage Box #7, Bin #23'],
 ['SB7-24', 'Storage Box #7, Bin #24'],
 ['SB7-25', 'Storage Box #7, Bin #25'],
 ['SB7-26', 'Storage Box #7, Bin #26'],
 ['SB7-27', 'Storage Box #7, Bin #27'],
 ['SB7-28', 'Storage Box #7, Bin #28'],
 ['SB7-29', 'Storage Box #7, Bin #29'],
 ['SB7-30', 'Storage Box #7, Bin #30'],
 ['SB7-31', 'Storage Box #7, Bin #31'],
 ['SB7-32', 'Storage Box #7, Bin #32'],
 ['SB7-33', 'Storage Box #7, Bin #33'],
 ['SB7-34', 'Storage Box #7, Bin #34'],
 ['SB7-35', 'Storage Box #7, Bin #35'],
 ['SB7-36', 'Storage Box #7, Bin #36'],
 ['SB8-1', 'Storage Box #8, Bin #1'],
 ['SB8-2', 'Storage Box #8, Bin #2'],
 ['SB8-3', 'Storage Box #8, Bin #3'],
 ['SB8-4', 'Storage Box #8, Bin #4'],
 ['SB8-5', 'Storage Box #8, Bin #5'],
 ['SB8-6', 'Storage Box #8, Bin #6'],
 ['SB8-7', 'Storage Box #8, Bin #7'],
 ['SB8-8', 'Storage Box #8, Bin #8'],
 ['SB8-9', 'Storage Box #8, Bin #9'],
 ['SB8-10', 'Storage Box #8, Bin #10'],
 ['SB8-11', 'Storage Box #8, Bin #11'],
 ['SB8-12', 'Storage Box #8, Bin #12'],
 ['SB8-13', 'Storage Box #8, Bin #13'],
 ['SB8-14', 'Storage Box #8, Bin #14'],
 ['SB8-15', 'Storage Box #8, Bin #15'],
 ['SB8-16', 'Storage Box #8, Bin #16'],
 ['SB8-17', 'Storage Box #8, Bin #17'],
 ['SB8-18', 'Storage Box #8, Bin #18'],
 ['SB8-19', 'Storage Box #8, Bin #19'],
 ['SB8-20', 'Storage Box #8, Bin #20'],
 ['SB8-21', 'Storage Box #8, Bin #21'],
 ['SB8-22', 'Storage Box #8, Bin #22'],
 ['SB8-23', 'Storage Box #8, Bin #23'],
 ['SB8-24', 'Storage Box #8, Bin #24'],
 ['SB8-25', 'Storage Box #8, Bin #25'],
 ['SB8-26', 'Storage Box #8, Bin #26'],
 ['SB8-27', 'Storage Box #8, Bin #27'],
 ['SB8-28', 'Storage Box #8, Bin #28'],
 ['SB8-29', 'Storage Box #8, Bin #29'],
 ['SB8-30', 'Storage Box #8, Bin #30'],
 ['SB8-31', 'Storage Box #8, Bin #31'],
 ['SB8-32', 'Storage Box #8, Bin #32'],
 ['SB8-33', 'Storage Box #8, Bin #33'],
 ['SB8-34', 'Storage Box #8, Bin #34'],
 ['SB8-35', 'Storage Box #8, Bin #35'],
 ['SB8-36', 'Storage Box #8, Bin #36'],
 ['SB9-1', 'Storage Box #9, Bin #1'],
 ['SB9-2', 'Storage Box #9, Bin #2'],
 ['SB9-3', 'Storage Box #9, Bin #3'],
 ['SB9-4', 'Storage Box #9, Bin #4'],
 ['SB9-5', 'Storage Box #9, Bin #5'],
 ['SB9-6', 'Storage Box #9, Bin #6'],
 ['SB9-7', 'Storage Box #9, Bin #7'],
 ['SB9-8', 'Storage Box #9, Bin #8'],
 ['SB9-9', 'Storage Box #9, Bin #9'],
 ['SB9-10', 'Storage Box #9, Bin #10'],
 ['SB9-11', 'Storage Box #9, Bin #11'],
 ['SB9-12', 'Storage Box #9, Bin #12'],
 ['SB9-13', 'Storage Box #9, Bin #13'],
 ['SB9-14', 'Storage Box #9, Bin #14'],
 ['SB9-15', 'Storage Box #9, Bin #15'],
 ['SB9-16', 'Storage Box #9, Bin #16'],
 ['SB9-17', 'Storage Box #9, Bin #17'],
 ['SB9-18', 'Storage Box #9, Bin #18'],
 ['SB9-19', 'Storage Box #9, Bin #19'],
 ['SB9-20', 'Storage Box #9, Bin #20'],
 ['SB9-21', 'Storage Box #9, Bin #21'],
 ['SB9-22', 'Storage Box #9, Bin #22'],
 ['SB9-23', 'Storage Box #9, Bin #23'],
 ['SB9-24', 'Storage Box #9, Bin #24'],
 ['SB9-25', 'Storage Box #9, Bin #25'],
 ['SB9-26', 'Storage Box #9, Bin #26'],
 ['SB9-27', 'Storage Box #9, Bin #27'],
 ['SB9-28', 'Storage Box #9, Bin #28'],
 ['SB9-29', 'Storage Box #9, Bin #29'],
 ['SB9-30', 'Storage Box #9, Bin #30'],
 ['SB9-31', 'Storage Box #9, Bin #31'],
 ['SB9-32', 'Storage Box #9, Bin #32'],
 ['SB9-33', 'Storage Box #9, Bin #33'],
 ['SB9-34', 'Storage Box #9, Bin #34'],
 ['SB9-35', 'Storage Box #9, Bin #35'],
 ['SB9-36', 'Storage Box #9, Bin #36'],
 ['SB10-1', 'Storage Box #10, Bin #1'],
 ['SB10-2', 'Storage Box #10, Bin #2'],
 ['SB10-3', 'Storage Box #10, Bin #3'],
 ['SB10-4', 'Storage Box #10, Bin #4'],
 ['SB10-5', 'Storage Box #10, Bin #5'],
 ['SB10-6', 'Storage Box #10, Bin #6'],
 ['SB10-7', 'Storage Box #10, Bin #7'],
 ['SB10-8', 'Storage Box #10, Bin #8'],
 ['SB10-9', 'Storage Box #10, Bin #9'],
 ['SB10-10', 'Storage Box #10, Bin #10'],
 ['SB10-11', 'Storage Box #10, Bin #11'],
 ['SB10-12', 'Storage Box #10, Bin #12'],
 ['SB10-13', 'Storage Box #10, Bin #13'],
 ['SB10-14', 'Storage Box #10, Bin #14'],
 ['SB10-15', 'Storage Box #10, Bin #15'],
 ['SB10-16', 'Storage Box #10, Bin #16'],
 ['SB10-17', 'Storage Box #10, Bin #17'],
 ['SB10-18', 'Storage Box #10, Bin #18'],
 ['SB10-19', 'Storage Box #10, Bin #19'],
 ['SB10-20', 'Storage Box #10, Bin #20'],
 ['SB10-21', 'Storage Box #10, Bin #21'],
 ['SB10-22', 'Storage Box #10, Bin #22'],
 ['SB10-23', 'Storage Box #10, Bin #23'],
 ['SB10-24', 'Storage Box #10, Bin #24'],
 ['SB10-25', 'Storage Box #10, Bin #25'],
 ['SB10-26', 'Storage Box #10, Bin #26'],
 ['SB10-27', 'Storage Box #10, Bin #27'],
 ['SB10-28', 'Storage Box #10, Bin #28'],
 ['SB10-29', 'Storage Box #10, Bin #29'],
 ['SB10-30', 'Storage Box #10, Bin #30'],
 ['SB10-31', 'Storage Box #10, Bin #31'],
 ['SB10-32', 'Storage Box #10, Bin #32'],
 ['SB10-33', 'Storage Box #10, Bin #33'],
 ['SB10-34', 'Storage Box #10, Bin #34'],
 ['SB10-35', 'Storage Box #10, Bin #35'],
 ['SB10-36', 'Storage Box #10, Bin #36'],
 ['SB11-1', 'Storage Box #11, Bin #1'],
 ['SB11-2', 'Storage Box #11, Bin #2'],
 ['SB11-3', 'Storage Box #11, Bin #3'],
 ['SB11-4', 'Storage Box #11, Bin #4'],
 ['SB11-5', 'Storage Box #11, Bin #5'],
 ['SB11-6', 'Storage Box #11, Bin #6'],
 ['SB11-7', 'Storage Box #11, Bin #7'],
 ['SB11-8', 'Storage Box #11, Bin #8'],
 ['SB11-9', 'Storage Box #11, Bin #9'],
 ['SB11-10', 'Storage Box #11, Bin #10'],
 ['SB11-11', 'Storage Box #11, Bin #11'],
 ['SB11-12', 'Storage Box #11, Bin #12'],
 ['SB11-13', 'Storage Box #11, Bin #13'],
 ['SB11-14', 'Storage Box #11, Bin #14'],
 ['SB11-15', 'Storage Box #11, Bin #15'],
 ['SB11-16', 'Storage Box #11, Bin #16'],
 ['SB11-17', 'Storage Box #11, Bin #17'],
 ['SB11-18', 'Storage Box #11, Bin #18'],
 ['SB11-19', 'Storage Box #11, Bin #19'],
 ['SB11-20', 'Storage Box #11, Bin #20'],
 ['SB11-21', 'Storage Box #11, Bin #21'],
 ['SB11-22', 'Storage Box #11, Bin #22'],
 ['SB11-23', 'Storage Box #11, Bin #23'],
 ['SB11-24', 'Storage Box #11, Bin #24'],
 ['SB11-25', 'Storage Box #11, Bin #25'],
 ['SB11-26', 'Storage Box #11, Bin #26'],
 ['SB11-27', 'Storage Box #11, Bin #27'],
 ['SB11-28', 'Storage Box #11, Bin #28'],
 ['SB11-29', 'Storage Box #11, Bin #29'],
 ['SB11-30', 'Storage Box #11, Bin #30'],
 ['SB11-31', 'Storage Box #11, Bin #31'],
 ['SB11-32', 'Storage Box #11, Bin #32'],
 ['SB11-33', 'Storage Box #11, Bin #33'],
 ['SB11-34', 'Storage Box #11, Bin #34'],
 ['SB11-35', 'Storage Box #11, Bin #35'],
 ['SB11-36', 'Storage Box #11, Bin #36'],
 ['SB12-1', 'Storage Box #12, Bin #1'],
 ['SB12-2', 'Storage Box #12, Bin #2'],
 ['SB12-3', 'Storage Box #12, Bin #3'],
 ['SB12-4', 'Storage Box #12, Bin #4'],
 ['SB12-5', 'Storage Box #12, Bin #5'],
 ['SB12-6', 'Storage Box #12, Bin #6'],
 ['SB12-7', 'Storage Box #12, Bin #7'],
 ['SB12-8', 'Storage Box #12, Bin #8'],
 ['SB12-9', 'Storage Box #12, Bin #9'],
 ['SB12-10', 'Storage Box #12, Bin #10'],
 ['SB12-11', 'Storage Box #12, Bin #11'],
 ['SB12-12', 'Storage Box #12, Bin #12'],
 ['SB12-13', 'Storage Box #12, Bin #13'],
 ['SB12-14', 'Storage Box #12, Bin #14'],
 ['SB12-15', 'Storage Box #12, Bin #15'],
 ['SB12-16', 'Storage Box #12, Bin #16'],
 ['SB12-17', 'Storage Box #12, Bin #17'],
 ['SB12-18', 'Storage Box #12, Bin #18'],
 ['SB12-19', 'Storage Box #12, Bin #19'],
 ['SB12-20', 'Storage Box #12, Bin #20'],
 ['SB12-21', 'Storage Box #12, Bin #21'],
 ['SB12-22', 'Storage Box #12, Bin #22'],
 ['SB12-23', 'Storage Box #12, Bin #23'],
 ['SB12-24', 'Storage Box #12, Bin #24'],
 ['SB12-25', 'Storage Box #12, Bin #25'],
 ['SB12-26', 'Storage Box #12, Bin #26'],
 ['SB12-27', 'Storage Box #12, Bin #27'],
 ['SB12-28', 'Storage Box #12, Bin #28'],
 ['SB12-29', 'Storage Box #12, Bin #29'],
 ['SB12-30', 'Storage Box #12, Bin #30'],
 ['SB12-31', 'Storage Box #12, Bin #31'],
 ['SB12-32', 'Storage Box #12, Bin #32'],
 ['SB12-33', 'Storage Box #12, Bin #33'],
 ['SB12-34', 'Storage Box #12, Bin #34'],
 ['SB12-35', 'Storage Box #12, Bin #35'],
 ['SB12-36', 'Storage Box #12, Bin #36'],
 ['A1', 'Storage Cabinet A, Drawer #1'],
 ['A2', 'Storage Cabinet A, Drawer #2'],
 ['A3', 'Storage Cabinet A, Drawer #3'],
 ['A4', 'Storage Cabinet A, Drawer #4'],
 ['A5', 'Storage Cabinet A, Drawer #5'],
 ['A6', 'Storage Cabinet A, Drawer #6'],
 ['A7', 'Storage Cabinet A, Drawer #7'],
 ['A8', 'Storage Cabinet A, Drawer #8'],
 ['A9', 'Storage Cabinet A, Drawer #9'],
 ['A10', 'Storage Cabinet A, Drawer #10'],
 ['A11', 'Storage Cabinet A, Drawer #11'],
 ['A12', 'Storage Cabinet A, Drawer #12'],
 ['A13', 'Storage Cabinet A, Drawer #13'],
 ['A14', 'Storage Cabinet A, Drawer #14'],
 ['A15', 'Storage Cabinet A, Drawer #15'],
 ['A16', 'Storage Cabinet A, Drawer #16'],
 ['A17', 'Storage Cabinet A, Drawer #17'],
 ['A18', 'Storage Cabinet A, Drawer #18'],
 ['A19', 'Storage Cabinet A, Drawer #19'],
 ['A20', 'Storage Cabinet A, Drawer #20'],
 ['B1', 'Storage Cabinet B, Drawer #1'],
 ['B2', 'Storage Cabinet B, Drawer #2'],
 ['B3', 'Storage Cabinet B, Drawer #3'],
 ['B4', 'Storage Cabinet B, Drawer #4'],
 ['B5', 'Storage Cabinet B, Drawer #5'],
 ['B6', 'Storage Cabinet B, Drawer #6'],
 ['B7', 'Storage Cabinet B, Drawer #7'],
 ['B8', 'Storage Cabinet B, Drawer #8'],
 ['B9', 'Storage Cabinet B, Drawer #9'],
 ['B10', 'Storage Cabinet B, Drawer #10'],
 ['B11', 'Storage Cabinet B, Drawer #11'],
 ['B12', 'Storage Cabinet B, Drawer #12'],
 ['B13', 'Storage Cabinet B, Drawer #13'],
 ['B14', 'Storage Cabinet B, Drawer #14'],
 ['B15', 'Storage Cabinet B, Drawer #15'],
 ['B16', 'Storage Cabinet B, Drawer #16'],
 ['B17', 'Storage Cabinet B, Drawer #17'],
 ['B18', 'Storage Cabinet B, Drawer #18'],
 ['B19', 'Storage Cabinet B, Drawer #19'],
 ['B20', 'Storage Cabinet B, Drawer #20'],
 ['B21', 'Storage Cabinet B, Drawer #21'],
 ['B22', 'Storage Cabinet B, Drawer #22'],
 ['B23', 'Storage Cabinet B, Drawer #23'],
 ['B24', 'Storage Cabinet B, Drawer #24'],
 ['B25', 'Storage Cabinet B, Drawer #25'],
 ['B26', 'Storage Cabinet B, Drawer #26'],
 ['B27', 'Storage Cabinet B, Drawer #27'],
 ['B28', 'Storage Cabinet B, Drawer #28'],
 ['B29', 'Storage Cabinet B, Drawer #29'],
 ['B30', 'Storage Cabinet B, Drawer #30'],
 ['B31', 'Storage Cabinet B, Drawer #31'],
 ['B32', 'Storage Cabinet B, Drawer #32'],
 ['B33', 'Storage Cabinet B, Drawer #33'],
 ['B34', 'Storage Cabinet B, Drawer #34'],
 ['B35', 'Storage Cabinet B, Drawer #35'],
 ['B36', 'Storage Cabinet B, Drawer #36'],
 ['C1', 'Storage Cabinet C, Drawer #1'],
 ['C2', 'Storage Cabinet C, Drawer #2'],
 ['C3', 'Storage Cabinet C, Drawer #3'],
 ['C4', 'Storage Cabinet C, Drawer #4'],
 ['C5', 'Storage Cabinet C, Drawer #5'],
 ['C6', 'Storage Cabinet C, Drawer #6'],
 ['C7', 'Storage Cabinet C, Drawer #7'],
 ['C8', 'Storage Cabinet C, Drawer #8'],
 ['C9', 'Storage Cabinet C, Drawer #9'],
 ['C10', 'Storage Cabinet C, Drawer #10'],
 ['C11', 'Storage Cabinet C, Drawer #11'],
 ['C12', 'Storage Cabinet C, Drawer #12'],
 ['C13', 'Storage Cabinet C, Drawer #13'],
 ['C14', 'Storage Cabinet C, Drawer #14'],
 ['C15', 'Storage Cabinet C, Drawer #15'],
 ['C16', 'Storage Cabinet C, Drawer #16'],
 ['C17', 'Storage Cabinet C, Drawer #17'],
 ['C18', 'Storage Cabinet C, Drawer #18'],
 ['C19', 'Storage Cabinet C, Drawer #19'],
 ['C20', 'Storage Cabinet C, Drawer #20'],
 ['C21', 'Storage Cabinet C, Drawer #21'],
 ['C22', 'Storage Cabinet C, Drawer #22'],
 ['C23', 'Storage Cabinet C, Drawer #23'],
 ['C24', 'Storage Cabinet C, Drawer #24'],
 ['C25', 'Storage Cabinet C, Drawer #25'],
 ['C26', 'Storage Cabinet C, Drawer #26'],
 ['D1', 'Storage Cabinet D, Drawer #1'],
 ['D2', 'Storage Cabinet D, Drawer #2'],
 ['D3', 'Storage Cabinet D, Drawer #3'],
 ['D4', 'Storage Cabinet D, Drawer #4'],
 ['D5', 'Storage Cabinet D, Drawer #5'],
 ['D6', 'Storage Cabinet D, Drawer #6'],
 ['D7', 'Storage Cabinet D, Drawer #7'],
 ['D8', 'Storage Cabinet D, Drawer #8'],
 ['D9', 'Storage Cabinet D, Drawer #9'],
 ['D10', 'Storage Cabinet D, Drawer #10'],
 ['D11', 'Storage Cabinet D, Drawer #11'],
 ['D12', 'Storage Cabinet D, Drawer #12'],
 ['D13', 'Storage Cabinet D, Drawer #13'],
 ['D14', 'Storage Cabinet D, Drawer #14'],
 ['D15', 'Storage Cabinet D, Drawer #15'],
 ['D16', 'Storage Cabinet D, Drawer #16'],
 ['D17', 'Storage Cabinet D, Drawer #17'],
 ['D18', 'Storage Cabinet D, Drawer #18'],
 ['D19', 'Storage Cabinet D, Drawer #19'],
 ['D20', 'Storage Cabinet D, Drawer #20'],
 ['D21', 'Storage Cabinet D, Drawer #21'],
 ['D22', 'Storage Cabinet D, Drawer #22'],
 ['D23', 'Storage Cabinet D, Drawer #23'],
 ['D24', 'Storage Cabinet D, Drawer #24'],
 ['D25', 'Storage Cabinet D, Drawer #25'],
 ['D26', 'Storage Cabinet D, Drawer #26']]

In [21]:
import mysql.connector
conn = mysql.connector.connect(user='django', password='sparhawk',
                              host='127.0.0.1',
                              database='partsdatabase')

command= "INSERT into `partsdatabase`.`storage_location` (storage_location,comment) VALUES (%s,%s)"
curs = conn.cursor()
for entry in storage:
    try:
        curs.execute(command,entry)
        conn.commit()
    except mysql.connector.Error as err:
        if err.errno == 1062:
            continue
        else:
            raise(err)

curs.close()
conn.close()

In [ ]:
Std_units = [["Volt","V",'V'],
             ["Ampere", "Amp", "A"],
             ["Ohm", "Ohm", "Ω"],
             ["Siemen","S","℧"],
             ["Farad", "",""],
             ["Coulomb", "", ""],
             ["Henry", "H", "H"],
             ["Watt", "W", "W"],
             ["Hertz", "Hz", "Hz"],
             ["Watt-hour", "Wh", "Wh"],
             ["Decibal", "dB", "dB"],
             ["Ampere-hout", "Ah", "Ah"],
             ["Parts per Million", "ppm", "ppm"]
             ["Gauss", "G", "G"],
             ["Volt-meter","V*M", "V⋅m"],
             ["Joule", "J", "J"],
             ["Seconds", "s", "s"],
             ["Tesla", "T", "T"]
             ["Newton", "N", "N"],
             ["Newton Meter", "NM", "N⋅m"]
             ["Newton per Meter", "N/m", "N/m"]
             ["Lumen", "lm", "lm"],
             ["Kelvin", "K", "K"],
             ["Celcius", "°C", "°C"]
             ["Fahanheit", ""]
            ]

In [27]:
cate_list = dict()
categories = OrderedDict()
with open("CategoriesWithParent.txt",'rt') as fh:
    for ln in fh:
        line = ln.rstrip().split("\t")
        if line[2] == 'None':
            line[2] = None
            categories[line[1]] = {}
        cate_list[line[0]] = [line[1],line[2]]

In [28]:
categories


Out[28]:
OrderedDict([('Integrated Circuits (ICs)', {}),
             ('Discrete Semiconductors', {}),
             ('Passive Components', {}),
             ('Electromechanical', {}),
             ('Connectors', {}),
             ('Test Equipment', {}),
             ('Tools and Supplies', {}),
             ('Sensors', {}),
             ('Optoelectronics', {}),
             ('Circuit Protection', {}),
             ('Power Products', {}),
             ('Cables and Wire', {}),
             ('Machining', {}),
             ('Industrial Control', {}),
             ('Automation Components', {}),
             ('Fasteners', {}),
             ('Materials', {}),
             ('Wiring Components', {}),
             ('Electrical & Controls', {}),
             ('Cutting Tools', {}),
             ('Processing Tools', {}),
             ('Safety Products', {}),
             ('Press Die Components', {}),
             ('Plastic Mold Components', {})])