Excel hoja de cálculo a su vez estructura de datos JSON

Excel hoja de cálculo a su vez estructura de datos JSON

varios elementos retirados, cada uno herramientas de tabla guía son difíciles de utilizar, lentos, reglas tácitas gigantes y más, pobre escalabilidad, fácil de depurar. Sqlite, JSON, Lua, XML han utilizado una variedad de formatos.

Por ejemplo:

La mayoría de las herramientas no son compatibles con la tabla guía de análisis del texto de la matriz, ya que son anormales grosero para resolver una serie de algoritmos, nada más que una división (valor ""), cuando la matriz de texto sin coma, todo está bien, comas aparecen una vez resultado del análisis de error, pero el programa sigue funcionando, hasta que el juego error de lectura, puede darse cuenta de un problema.

Tipo de combinación no es normalmente I. Tabla Estas herramientas no son compatibles con el tipo de combinación entre, por ejemplo, una matriz de enteros, un array de hashes como. Algunos soporte para una matriz de enteros, pero no está obligado a una matriz de enteros y dos tipos, pero define un único número entero array tipo, un poco más complicada cuando se desea estructura no puede lograrse o incluso no compatible, tal como matrices incrustado conjuntos de matrices.

El error no puede ser localizado, la salida de mensajes de error apenas leer, la planificación aún más indefensa.

Sin la seguridad de tipos, cuando se modifica una tabla de configuración nombre de campo, el programa puede ser completamente inconsciente hasta que el juego para leer error de configuración.

Estructura de datos

En mi mejor formato de datos de estructura de datos personales es JSON.

Sqlite cliente hostiles, la mayoría de los clientes no están familiarizados con las sentencias SQL. Como los datos de configuración, las ventajas de la base de datos relacional no es evidente, si la consulta de datos requiere sentencias SQL complejas, este mismo diseño de la estructura de datos es incorrecto, si sólo simples consultas SQL, por qué no directa de datos de valor-clave estructura? Además, SQLite es necesario utilizar un software de base de datos especial, y no se puede ver directamente en el editor de texto o IDE.

Lua estructura -como con JSON, pero tiene dos problemas: 1. No es fácil distinguir entre arrays y hashes, 2. Porque como estructuras de datos, campo de aplicación es relativamente estrecho, JSON que Lua famosa demasiado, JSON terceros analizar la biblioteca de Lua y más mucho que somos mucho más receptivo a JSON en lugar de Lua.

Xml demasiados datos adicionales de lectura con respecto a JSON no es intuitivo.

JSON estructura es simple, la mayoría de los editores de texto puede resaltar el contenido, la biblioteca de análisis de numerosos terceros, una amplia gama de populares extremo trasero, delantero y son aceptables.

Facilidad de uso

He visto una tabla guía sobrecarga pasó 1 hora, por lo que nadie se atreve a tratar de exportar Excel, esto se prolongó durante un año, la situación no es el fin de este proyecto es frío, pero me vuelve a poner en práctica una herramienta y completamente que el análisis de formato, nuevos procedimientos analíticos para exportar toda Excel en tan sólo 10 segundos.

He visto configuración de Excel es muy engorroso, muchas reglas tácitas, al configurar una nueva tabla, debe referirse a una mesa de edad, o de lo contrario no sabe cómo llenar.

Una tabla de guía de la herramienta útil

Debido a la reciente retorno a la industria de los viajes mano, por lo que le gustaría lograr una eficiencia, escalabilidad, facilidad de uso, seguridad son vehículos hoja guía relativamente bien.

Formato (para más detalles véase Demo)

//  已支持的格式
bool        布尔值
number      数值
string      字符串
list        数组
dict        哈希
type        自定义结构

//  格式定义
bool b;
number n;
string s;
[number] n_list;                            //  数值数组    list<number> n_list;
{number} n_dict;                            //  数组哈希    dict<number> d_dict;
<number n, string s> type;                  //  自定义结构  struct {
                                            //                  number n;
                                            //                  string s;
                                            //              } type;

//  类型组合
[[number]]  n_n_list;                       //  数组嵌套数组
{[number]}  n_n_dict;                       //  哈希嵌套数组
<[number] n_list, {number} n_dict> type;    //  数据格式如下:
                                            //  struct {
                                            //      list<number> n_list;
                                            //      dict<number> n_dict;
                                            //  } type;

posicionamiento de error (para detalles ver Demo)

//  打印错误文件,行,列,出错原因
C:\Github\xlsx2json>export.py
> 异常: C:\Github\xlsx2json/in/cfg_2.xlsx | 5:2 | [bool]值错误 "
> ---Export End---

Seguridad (para más detalles véase Demo)

//  输出指定语言的数据结构(当前只支持C++和C#)
//  可通过Json库解析到对应的数据结构
var test = Json.From<config.Test>("test.json");
var n = test.n;
var s = test.s;

final

archivo ejecutable: export.py

Entorno de funcionamiento: Python3.0

la dependencia de ejecución: openpyxl

Guía de configuración de la tabla (archivo export.py):

#   Json输入目录
JSON_I = os.getcwd() + "/in/"
#   Json输出目录
JSON_O = os.getcwd() + "/out/"
#   结构化输出目录
STRUCT_O = os.getcwd() + "/out/config.cs"
#   命名空间
NAMESPACE = "config"

Portal de Github

Supongo que te gusta

Origin www.cnblogs.com/mmc1206x/p/12536306.html
Recomendado
Clasificación