# Adapted from # http://www.resolversystems.com/documentation/index.php/Loading_data_from_CSV_files import clr clr.AddReferenceByName("LumenWorks.Framework.IO") from LumenWorks.Framework.IO.Csv import CsvReader from System import Array from System.IO import StreamReader __version__ = '0.1.0' def ImportCSV(reader, topLeftCell): if isinstance(reader, basestring): reader = StreamReader(reader) csvReader = CsvReader(reader, False) csvReader.SkipEmptyLines = False rowOffset = 0 while csvReader.ReadNextRecord(): colCount = csvReader.FieldCount for colOffset in range(colCount): topLeftCell.Offset(colOffset, rowOffset).Value = csvReader[colOffset] rowOffset += 1 def LoadCSV(reader): if isinstance(reader, basestring): reader = StreamReader(reader) csvReader = CsvReader(reader, False) csvReader.SkipEmptyLines = False rows = [] maxCols = 0 while csvReader.ReadNextRecord(): row = [] colCount = csvReader.FieldCount maxCols = max(colCount, maxCols) for colOffset in range(colCount): row.append(csvReader[colOffset]) rows.append(row) ret = Array.CreateInstance(object, maxCols, len(rows)) for rowIndex, row in enumerate(rows): for colIndex, val in enumerate(row): ret[colIndex, rowIndex] = val return ret