Coder Social home page Coder Social logo

ies2csv's Introduction

ies2csv

Overview

ies2csv is a utility meant to convert the .ies files found within .ipf files used by Tree of Savior to a readable tab-separated file. csv is a misnomer because I discovered some fields in the .ies actually have commas, affecting the output from the original csv format.

This ies2csv is a fork of the original utility, written in C# by Doddler. As practice for myself, I re-implemented the code in Python, specifically Python 3.5+.

Each resulting .tsv file has a structure like so:

  • ncols_int: number of numeric/integer fields, like ClassID (ID) and NeedCount (flag)
  • ncols_str: the rest of the fields, usually strings
  • i.e. ncols = ncols_int + ncols_str

Usage

Main

$ python ies2csv.py -h
usage: ies2csv.py [-h] {file,batch} ...

An .ies file to tsv converter

positional arguments:
  {file,batch}  subcommand help
    file        file help
    batch       batch help

optional arguments:
  -h, --help    show this help message and exit

File-based operations

$ python ies2csv.py file -h
usage: ies2csv.py file [-h] [--output OUTPUT] ies_file

positional arguments:
  ies_file              The .ies file to convert

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT, -o OUTPUT
                        An optional file to output to; overrides default file
                        name

โš  Default behavior creates a .tsv file with the same 'stem' name.

If OUTPUT is specified, the tsv contents will be written to OUTPUT.

Batch operations

$ python ies2csv.py batch -h
usage: ies2csv.py batch [-h] directory

positional arguments:
  directory   The directory with .ies files to batch convert

optional arguments:
  -h, --help  show this help message and exit

โš  In batch mode, manual output is disabled.

Requirements

This code is designed around the following:

  • Python 3.5+

Disclaimer

This project is not affiliated with or endorsed by Tree of Savior. See LICENSE for more detail.

ies2csv's People

Contributors

dark-nova avatar

Stargazers

Vegax avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.