예제 #1
0
파일: main.py 프로젝트: bassosimone/nadia
def nadia_process_xls(filename, data_headers_location, data_values_location,
  y_axis_location, global_data_vector, global_const_vector, outfile):

    """Given an XLS file and all the settings -- such as where are headers,
       where is data, where is Y axis, etc. -- this function translates such
       XLS file in a sequence of JSON that match very closely the format of
       a CKAN package."""

    sheet = open_sheet(filename)

    data = data_section(sheet, data_headers_location, data_values_location)
    y_axis(sheet, y_axis_location, data)

    data = remove_empty_lines(data)
    for name, location in global_data_vector:
        global_data(data, sheet, name, location)
    for name, value in global_const_vector:
        global_const(data, name, value)

    jsonize(data, outfile)
예제 #2
0
파일: data.py 프로젝트: bassosimone/nadia
    nrows = len(cells)
    ncols = len(cells[0])
    for j in range(0, ncols):
        for i in range(0, nrows):
            if cells[i][j] == u"1.0":
                cells[i][j] = u"si"
            cells[i][j] = cells[i][j].lower()
    return cells

def data_section(sheet, hdrs_range, values_range):
    hdrs = _data_headers(sheet, hdrs_range)
    values = _data_values(sheet, values_range)

    for row in values:
        while len(row) < len(hdrs):
            row.append(u"")
        while len(row) > len(hdrs):
            hdrs.append(u"")

    data = []
    data.append(hdrs)
    for row in values:
        data.append(row)

    return data

if __name__ == "__main__":
    sheet = open_sheet("test/sample1.xls")
    data = data_section(sheet, "C3:R6", "C7:R24")
    pprint.pprint(data)