SL-15177 Add slp-csv converting script
parent
3392d5805e
commit
fde4bd2cbc
|
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/python
|
||||
"""\
|
||||
@file slp_conv.py
|
||||
@author Callum Prentice
|
||||
@date 2021-01-26
|
||||
@brief Convert a Second Life Performance (SLP) file generated
|
||||
by the Viewer into an comma separated value (CSV) file
|
||||
for import into spreadsheets and other data analytics tools.
|
||||
|
||||
$LicenseInfo:firstyear=2018&license=internal$
|
||||
Copyright (c) 2018, Linden Research, Inc.
|
||||
$/LicenseInfo$
|
||||
"""
|
||||
from llbase import llsd
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Converts Viewer SLP files into CSV for import into spreadsheets etc."
|
||||
)
|
||||
parser.add_argument(
|
||||
"infilename",
|
||||
help="Name of SLP file to read",
|
||||
)
|
||||
parser.add_argument(
|
||||
"outfilename",
|
||||
help="Name of CSV file to create",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
with open(args.infilename, "r") as slp_file:
|
||||
slps = slp_file.readlines()
|
||||
print "Reading from %s - %d items" % (args.infilename, len(slps))
|
||||
|
||||
with open(args.outfilename, "w") as csv_file:
|
||||
|
||||
print "Writing to %s" % args.outfilename
|
||||
|
||||
for index, each_slp in enumerate(slps):
|
||||
slp_entry = llsd.parse(each_slp)
|
||||
|
||||
first_key = slp_entry.keys()[0]
|
||||
|
||||
# first entry so write column headers
|
||||
if index == 0:
|
||||
line = ""
|
||||
for key, value in slp_entry[first_key].iteritems():
|
||||
line += key
|
||||
line += ", "
|
||||
csv_file.write("entry, %s, \n" % line)
|
||||
# write line of data
|
||||
line = ""
|
||||
for key, value in slp_entry[first_key].iteritems():
|
||||
line += str(value)
|
||||
line += ", "
|
||||
csv_file.write("%s, %s, \n" % (first_key, str(line)))
|
||||
Loading…
Reference in New Issue