#!/usr/bin/env python import pandas as pd HEADER = '''(kicad_symbol_lib (version 20231120) (generator "kicad_symbol_editor") (generator_version "8.0")''' def gen_sym(data): SYM = f''' (symbol "{data['value']}" (pin_numbers hide) (pin_names (offset 0.254) hide) (exclude_from_sim no) (in_bom yes) (on_board yes) (property "Reference" "R" (at 0.762 0.508 0) (effects (font (size 1.27 1.27) ) (justify left) ) ) (property "Value" "{data['value']}" (at 0.762 -1.016 0) (effects (font (size 1.27 1.27) ) (justify left) ) ) (property "Footprint" "{data['footprint']}" (at 23.114 1.778 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "Datasheet" "{data['datasheet']}" (at 30.988 0 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "Description" "{data['description']}" (at 21.59 3.81 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "manf_num" "{data['manf_num']}" (at 17.526 -8.89 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "Tol" "{data['tol']}" (at 9.652 -5.334 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "V" "{data['V']}" (at 9.652 -1.778 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "W" "{data['W']}" (at 10.16 -3.556 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "mass (g)" "{data['mass']}" (at 10.668 -7.112 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "mouser#" "{data['mouser#']}" (at 19.05 -10.668 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "ki_keywords" "R resistor" (at 0 0 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (property "ki_fp_filters" "R_*" (at 0 0 0) (effects (font (size 1.27 1.27) ) (hide yes) ) ) (symbol "{data['value']}_0_1" (rectangle (start -0.762 1.778) (end 0.762 -1.778) (stroke (width 0.2032) (type default) ) (fill (type none) ) ) ) (symbol "{data['value']}_1_1" (pin passive line (at 0 2.54 270) (length 0.762) (name "~" (effects (font (size 1.27 1.27) ) ) ) (number "1" (effects (font (size 1.27 1.27) ) ) ) ) (pin passive line (at 0 -2.54 90) (length 0.762) (name "~" (effects (font (size 1.27 1.27) ) ) ) (number "2" (effects (font (size 1.27 1.27) ) ) ) ) ) )''' return SYM # data = {} # data['value'] = '200k' # data['footprint'] = 'Resistor_SMD:R_1206_3216Metric' # data['datasheet'] = 'https://www.vishay.com/docs/28881/tnpve3.pdf' # data['description'] = 'High Voltage Thin Film, 1206' # data['manf_num'] = 'TNPV1206200kBEEN' # data['tol'] = '0.1%' # data['V'] = '700V' # data['W'] = '0.25V' # data['mass'] = '0.0162' # data['mouser#'] = '71-TNPV1206200kBEEN' #print(gen_sym(data)) fn = 'resistor.csv' df = pd.read_csv(fn) print(HEADER) for i,row in df.iterrows(): data = {'value': row['Value'], 'footprint':row['Footprint'], 'datasheet':row['Datasheet'],'description':row['Description'], 'manf_num':row['manf_num'],'tol':row['Tol'], 'V':row['V'], 'W':row['W'],'mass':row['mass (g)'],'mouser#':row['mouser#'] } print(gen_sym(data)) print(')')