CN110059303B - Excel文件转换为JSON文件的方法及装置 - Google Patents

Excel文件转换为JSON文件的方法及装置 Download PDF

Info

Publication number
CN110059303B
CN110059303B CN201910329852.8A CN201910329852A CN110059303B CN 110059303 B CN110059303 B CN 110059303B CN 201910329852 A CN201910329852 A CN 201910329852A CN 110059303 B CN110059303 B CN 110059303B
Authority
CN
China
Prior art keywords
file
excel file
json
header information
traversing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910329852.8A
Other languages
English (en)
Other versions
CN110059303A (zh
Inventor
赵俊清
武鹏
王震宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Third Engineering Co Ltd of China Railway Electrification Engineering Group Co Ltd
Original Assignee
Third Engineering Co Ltd of China Railway Electrification Engineering Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Third Engineering Co Ltd of China Railway Electrification Engineering Group Co Ltd filed Critical Third Engineering Co Ltd of China Railway Electrification Engineering Group Co Ltd
Priority to CN201910329852.8A priority Critical patent/CN110059303B/zh
Publication of CN110059303A publication Critical patent/CN110059303A/zh
Application granted granted Critical
Publication of CN110059303B publication Critical patent/CN110059303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/157Transformation using dictionaries or tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种Excel文件转换为JSON文件的方法及装置,其中所述方法包括:获取待转换Excel文件中的所有工作表,并依次遍历各所述工作表;对于遍历到的每个所述工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息,并将所述表头信息和所述数据信息按照字典数据结构依次存储,获取字典数据;将所有所述工作表的所述字典数据存储到JSON数据结构中,获取所述待转换Excel文件对应的JSON文件。本发明实施例能够完整而有效的对Excel文件进行JSON格式的转换,从而更便利的进行Excel文件的文本阅读与编辑。

Description

Excel文件转换为JSON文件的方法及装置
技术领域
本发明涉及数据处理技术领域,更具体地,涉及一种Excel文件转换为JSON文件的方法及装置。
背景技术
Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件,也是最流行的个人计算机数据处理软件。但是,由于Excel使用编程语言的格式,使得不方便对其进行阅读和编辑,且进行阅读和编辑的专业性要求较高。
目前,现有技术采用将Excel文件转换为JSON文件的方法来解决上述问题,具体在收到Excel文件后,采用DataTable形式读取Excel文件内的数据,然后遍历DataTable数据为List,最后对List进行反序得到JSON数据。
但是,由于上述方法采用DataTable读取Excel文件数据,导致其只能处理含有一个WorkSheet的Excel文件,对于一个Excel文件含有多个WorkSheet的情况,却无法利用其实现完整有效的转换。并且,由于采用List数据结构,上述方法无法对有表头的Excel进行处理。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种Excel文件转换为JSON文件的方法及装置,用以完整而有效的对Excel文件进行JSON格式的转换,从而更便利的进行Excel文件的文本阅读与编辑。
第一方面,本发明实施例提供一种Excel文件转换为JSON文件的方法,包括:
获取待转换Excel文件中的所有工作表,并依次遍历各所述工作表;
对于遍历到的每个所述工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息,并将所述表头信息和所述数据信息按照字典数据结构依次存储,获取字典数据;
将所有所述工作表的所述字典数据存储到JSON数据结构中,获取所述待转换Excel文件对应的JSON文件。
第二方面,本发明实施例提供一种Excel文件转换为JSON文件的装置,包括:
第一遍历模块,用于获取待转换Excel文件中的所有工作表,并依次遍历各所述工作表;
第二遍历模块,用于对于遍历到的每个所述工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息,并将所述表头信息和所述数据信息按照字典数据结构依次存储,获取字典数据;
转换输出模块,用于将所有所述工作表的所述字典数据存储到JSON数据结构中,获取所述待转换Excel文件对应的JSON文件。
第三方面,本发明实施例提供一种Excel文件的文本阅读方法,包括:按照如上第一方面所述的Excel文件转换为JSON文件的方法,将待阅读Excel文件转换为JSON文件,并基于所述JSON文件,对所述待阅读Excel文件进行文本阅读。
第四方面,本发明实施例提供一种Excel文件的文本编辑方法,包括:按照如上第一方面所述的Excel文件转换为JSON文件的方法,将待编辑Excel文件转换为JSON文件,并基于所述JSON文件,对所述待编辑Excel文件进行文本编辑。
第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上第一方面所述的Excel文件转换为JSON文件的方法的步骤,或者实现如上第三方面所述的Excel文件的文本阅读方法的步骤,或者实现如上第四方面所述的Excel文件的文本编辑方法的步骤。
第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机指令,所述计算机指令被计算机执行时,实现如上第一方面所述的Excel文件转换为JSON文件的方法的步骤,或者实现如上第三方面所述的Excel文件的文本阅读方法的步骤,或者实现如上第四方面所述的Excel文件的文本编辑方法的步骤。
本发明实施例提供的Excel文件转换为JSON文件的方法及装置,通过获取并遍历待转换Excel文件的所有工作表,并将遍历工作表时获取的表头信息和数据信息按照字典数据结构依次存储,不仅能保证完整而有效的对Excel文件进行JSON格式的转换,而且可以对有表头的Excel进行有效处理,从而能够更便利的进行Excel文件的文本阅读与编辑。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的Excel文件转换为JSON文件的方法的流程示意图;
图2为本发明另一实施例提供的Excel文件转换为JSON文件的方法的流程示意图;
图3为本发明实施例提供的Excel文件转换为JSON文件的装置的结构示意图;
图4为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明实施例的一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
本发明实施例针对现有技术无法处理含有多个WorkSheet以及含有表头的Excel文件的问题,通过获取并遍历待转换Excel文件的所有工作表,并将遍历工作表时获取的表头信息和数据信息按照字典数据结构依次存储,不仅能保证完整而有效的对Excel文件进行JSON格式的转换,而且可以对有表头的Excel进行有效处理,从而能够更便利的进行Excel文件的文本阅读与编辑。以下将具体通过多个实施例对本发明实施例进行展开说明和介绍。
图1为本发明一实施例提供的Excel文件转换为JSON文件的方法的流程示意图,如图1所示,该方法包括:
S101,获取待转换Excel文件中的所有工作表,并依次遍历各工作表。
具体而言,对于含有多个工作表的待转换Excel文件,首先获取其包含的所有工作表。可以理解的是,同时可获取所有工作表的总数。在获取所有工作表的基础上,可以遍历每个工作表,并在遍历一个工作表时,按如下步骤S102的处理流程,对工作表内数据进行处理。
S102,对于遍历到的每个工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和表头信息对应的数据信息,并将表头信息和数据信息按照字典数据结构依次存储,获取字典数据。
根据上述说明可知,本发明实施例会对每个遍历到的工作表进行相同的处理流程。具体而言,当遍历到某个确定的工作表后,对该工作表中的每一行和每一列也分别进行遍历,以得到该工作表中包含的所有数据。可以理解的是,通常一个工作表中会包含表头行,该行中示出各列对应的数据含义,其中示出的信息即表头信息。除了表头行,一般还有一个或多个数据行,这些数据行存储有具体的数据信息,且这些数据信息是与表头行每一列的表头信息对应的。因此,通过遍历工作表的每一行和每一列,可获取整个工作表的表头信息和数据信息。
之后,为了将表头信息和数据信息同时进行存储并建立二者间对应关系,本发明实施例将表头信息和数据信息按照字典数据结构依次存储,存储后所得数据即作为字典数据。可以理解的是,各个工作表的数据可以共同形成一组字典数据,也可以分别形成多组字典数据。
S103,将所有工作表的字典数据存储到JSON数据结构中,获取待转换Excel文件对应的JSON文件。
最后,本发明实施例通过数据格式转换,实现Excel文件到JSON文件的转换。具体而言,将所有工作表的字典数据存储到JSON数据结构中,所形成的文件即是JSON数据格式类型的文件,即JSON文件,该JSON文件即是待转换Excel文件对应的JSON文件。
本发明实施例提供的Excel文件转换为JSON文件的方法,通过获取并遍历待转换Excel文件的所有工作表,并将遍历工作表时获取的表头信息和数据信息按照字典数据结构依次存储,不仅能保证完整而有效的对Excel文件进行JSON格式的转换,而且可以对有表头的Excel进行有效处理,生成标准的Json键值对,从而能够更便利的进行Excel文件的文本阅读与编辑。
可以知道,现有技术在利用Data Table进行数据读取时,只能处理英文或数字字符,无法处理Excel中的中文字符。因此,在上述各实施例的基础上,在获取该工作表的表头信息和表头信息对应的数据信息的步骤之前,本发明实施例的Excel文件转换为JSON文件的方法还可以包括:在遍历工作表中的所有行和所有列的过程中,若检测到存在汉字字符,则将汉字字符进行编解码处理,并基于编解码处理的结果,获取表头信息和数据信息。
具体而言,本发明实施例在对Excel文件的每个工作表进行遍历读取数据时,会检测所读取的数据是否为汉字字符,若是,则将汉字字符进行编解码处理,以对汉字字符进行正常的识别,得到汉字字符表示的表头信息和数据信息。
其中,利用Python程序对汉字字符进行编解码处理,具体处理过程如下:
汉字字符在Python中以unicode的内存编码值进行存储(如“接口”的unicode编码为“\u63a5\u53e3”),遇到汉字字符时需要对其进行反向转换处理。本发明实施例具体采用decode函数的unicode-escape方式进行反向转换处理,将unicode编码值转换为汉字。具体处理过程代码为:title_de=str(row_0[j]).decode(′unicode_escape′)。上述“接口”经过转换后的内容为“u’接口’”。为了只得到“接口”二字,还需对转换后的内容进行字符串分割处理,即调用split函数:title_cn=title_de.split("′")[1],以获得“’”后的中文字符。
本发明实施例通过对汉字字符进行检测以及编解码处理,使得能够正常读取并存储汉字字符数据,保证了数据的完整性,且扩大了方法的适用范围。
进一步的,在上述各实施例的基础上,在获取待转换Excel文件中的所有工作表的步骤之后,本发明实施例的Excel文件转换为JSON文件的方法还可以包括:获取工作表的总数,并在完成遍历每一工作表之后,基于工作表的总数,检测待转换Excel文件是否被遍历完成。
可以理解为,本发明实施例通过获取并记录待转换Excel文件中所有工作表的总数,来判断遍历是否结束。具体而言,在完成每一个工作表的数据信息遍历之后,都会统计总共遍历了几个工作表,通过将该数据与工作表的总数进行比对,即可判断对Excel文件中的所有工作表的遍历是否完成。
其中,根据上述各实施例可选的,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和表头信息对应的数据信息的步骤具体包括:获取表头所在的行号,依次遍历行号对应的行中的每一列,获取表头信息;依次遍历工作表中除行号对应的行之外的每一行,对于遍历到的每一行,依次遍历该行的所有列,获取数据信息,并根据表头信息对应的列号与数据信息对应的列号,将表头信息与数据信息关联。
具体而言,本发明实施例对于遍历到的每个工作表,依次对工作表的每一行和每一列进行嵌套循环遍历。也就是说,外循环遍历工作表的每一行,并在遍历到任一行时,内循环遍历该行中的每一列,在遍历的基础上,获取工作表每一行对应每一列的信息。对于表头行,该行存储的是表头信息,对于数据行,其中存储的是数据信息。
进一步的,在上述各实施例的基础上,在获取表头所在的行号的步骤之前,本发明实施例的Excel文件转换为JSON文件的方法还可以包括:获取各工作表中行的总数和列的总数,并且,对于每一工作表,在完成遍历该工作表中每一行之后,基于行的总数,检测所有行是否被遍历完成,对于工作表中的每一行,在完成遍历该行中每一列之后,基于列的总数,检测所有列是否被遍历完成。
与上述对所有工作表的遍历类似,本发明实施例也可以通过获取工作表的所有行的行数和所有列的列数,来判断对工作表的各行和各列数据是否遍历完成。具体处理过程可参照上述对所有工作表的遍历,此处不再赘述。
为进一步说明本发明实施例的技术方案,本发明实施例根据上述各实施例提供如下具体的处理流程,但不对本发明实施例的保护范围进行限制。
图2为本发明另一实施例提供的Excel文件转换为JSON文件的方法的流程示意图,如图2所示,该处理流程包括:
步骤1,输入Excel文件,获取Excel中WorkSheet的数量:
worksheets=book.sheet_names()
步骤2,对每一个WorkSheet进行遍历:
for sheet in worksheets:
步骤3,按照行数和列数依次进行遍历,将获取到的表头和对应数据按照字典数据结构依次存储,对遇到的中文字符进行编解码处理。例如,如表1所示,为根据本发明一实施例的待转换Excel文件的工作表示意,对于表1,行数为6,列数为5,表头为第一行的“*支柱号PoleN”到“每跨吊弦数量N”,数据为每个表头下方的数字。具体处理如下:
result={}
#遍历所有行
for i in range(nrows):
#遍历当前行所有列
for j in range(ncols):
#获取当前列中文标题即表头
title_de=str(row_0[j]).decode(′unicode_escape′)
title_cn=title_de.split("′")[1]
#获取对应单元格的值
tmp[title_cn]=sheet.row_values(i)[j]
#存储字典数据结构
result["children"].append(tmp)
步骤4,将获取到的字典数据存储到JSON数据结构中,输出JSON数据:
json_data=json.dumps(result,indent=4,sort_keys=True).decode(′unicode_escape′)
print json_data
步骤5,判断是否遍历每一个WorkSheet,若不是则返回步骤B,若是则结束。
表1,根据本发明一实施例的待转换Excel文件的工作表示意
Figure BDA0002037346520000081
经过以上步骤,表1的数据应转化为以下JSON格式输出:
Figure BDA0002037346520000082
Figure BDA0002037346520000091
Figure BDA0002037346520000101
仿真试验表明,本发明实施例提供的Excel文件转换为JSON文件的方法可以同时处理多个WorkSheet。同时,由于采用字典数据结构可以对有表头的Excel进行处理,可以生成标准的JSON键值对,并可以处理Excel中的中文字符。
基于相同的构思,本发明实施例根据上述各实施例提供一种Excel文件转换为JSON文件的装置,该装置用于在上述各实施例中实现将Excel文件转换为JSON文件。因此,在上述各实施例的Excel文件转换为JSON文件的方法中的描述和定义,可以用于本发明实施例中各个执行模块的理解,具体可参考上述实施例,此处不在赘述。
根据本发明实施例的一个实施例,Excel文件转换为JSON文件的装置的结构如图3所示,为本发明实施例提供的Excel文件转换为JSON文件的装置的结构示意图,该装置可以用于实现上述各方法实施例中将Excel文件转换为JSON文件,该装置包括:第一遍历模块301、第二遍历模块302和转换输出模块303。其中:
第一遍历模块301用于获取待转换Excel文件中的所有工作表,并依次遍历各工作表;第二遍历模块302用于对于遍历到的每个工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和表头信息对应的数据信息,并将表头信息和数据信息按照字典数据结构依次存储,获取字典数据;转换输出模块303用于将所有工作表的字典数据存储到JSON数据结构中,获取待转换Excel文件对应的JSON文件。
具体而言,第一遍历模块301首先获取其包含的所有工作表,再在获取所有工作表的基础上,遍历每个工作表,并在遍历一个工作表时,将遍历到的信息传输到第二遍历模块302,利用第二遍历模块302对工作表内数据进行处理。
当遍历到某个确定的工作表后,第二遍历模块302对该工作表中的每一行和每一列也分别进行遍历,以得到该工作表中包含的所有数据。可以理解的是,通常一个工作表中会包含表头行,该行中示出各列对应的数据含义,其中示出的信息即表头信息。除了表头行,一般还有一个或多个数据行,这些数据行存储有具体的数据信息,且这些数据信息是与表头行每一列的表头信息对应的。因此,通过遍历工作表的每一行和每一列,可获取整个工作表的表头信息和数据信息。
之后,为了将表头信息和数据信息同时进行存储并建立二者间对应关系,第二遍历模块302将表头信息和数据信息按照字典数据结构依次存储,存储后所得数据即作为字典数据。可以理解的是,各个工作表的数据可以共同形成一组字典数据,也可以分别形成多组字典数据。
最后,转换输出模块303通过数据格式转换,实现Excel文件到JSON文件的转换。具体而言,转换输出模块303将所有工作表的字典数据存储到JSON数据结构中,所形成的文件即是JSON数据格式类型的文件,即JSON文件,该JSON文件即是待转换Excel文件对应的JSON文件。
本发明实施例提供的Excel文件转换为JSON文件的装置,通过设置相应的执行模块,获取并遍历待转换Excel文件的所有工作表,并将遍历工作表时获取的表头信息和数据信息按照字典数据结构依次存储,不仅能保证完整而有效的对Excel文件进行JSON格式的转换,而且可以对有表头的Excel进行有效处理,从而能够更便利的进行Excel文件的文本阅读与编辑。
可以理解的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现上述各实施例的装置中的各相关程序模块。并且,本发明实施例的Excel文件转换为JSON文件的装置利用上述各程序模块,能够实现上述各方法实施例的Excel文件转换为JSON文件的流程,在用于实现上述各方法实施例中将Excel文件转换为JSON文件时,本发明实施例的装置产生的有益效果与对应的上述各方法实施例相同,可以参考上述各方法实施例,此处不再赘述。
作为本发明实施例的另一个方面,本发明实施例提供一种Excel文件的文本阅读方法,包括:按照如上述各实施例所述的Excel文件转换为JSON文件的方法,将待阅读Excel文件转换为JSON文件,并基于JSON文件,对待阅读Excel文件进行文本阅读。
作为本发明实施例的又一个方面,本发明实施例提供一种Excel文件的文本编辑方法,包括:按照如上述各实施例所述的Excel文件转换为JSON文件的方法,将待编辑Excel文件转换为JSON文件,并基于JSON文件,对待编辑Excel文件进行文本编辑。
可以知道,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。其具有易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率的特点。
本发明实施例通过采用上述Excel文件转换为JSON文件的方法,首先将待阅读或者待编辑的Excel文件转换为JSON文件,再在此基础上实现待阅读或者待编辑的Excel文件的文本阅读或编辑。
作为本发明实施例的再一个方面,本实施例根据上述各实施例提供一种电子设备,该电子设备包括存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时,实现如上述各实施例所述的Excel文件转换为JSON文件的方法的步骤,或者实现如上述各实施例所述的Excel文件的文本阅读方法的步骤,或者实现如上述各实施例所述的Excel文件的文本编辑方法的步骤。
进一步的,本发明实施例的电子设备还可以包括通信接口和总线。参考图4,为本发明实施例提供的电子设备的实体结构示意图,包括:至少一个存储器401、至少一个处理器402、通信接口403和总线404。
其中,存储器401、处理器402和通信接口403通过总线404完成相互间的通信,通信接口403用于该电子设备与Excel文件设备之间的信息传输;存储器401中存储有可在处理器402上运行的计算机程序,处理器402执行该计算机程序时,实现如上述各实施例所述的Excel文件转换为JSON文件的方法的步骤,或者实现如上述各实施例所述的Excel文件的文本阅读方法的步骤,或者实现如上述各实施例所述的Excel文件的文本编辑方法的步骤。
可以理解为,该电子设备中至少包含存储器401、处理器402、通信接口403和总线404,且存储器401、处理器402和通信接口403通过总线404形成相互间的通信连接,并可完成相互间的通信,如处理器402从存储器401中读取Excel文件转换为JSON文件的方法的程序指令等。另外,通信接口403还可以实现该电子设备与Excel文件设备之间的通信连接,并可完成相互间信息传输,如通过通信接口403实现将Excel文件转换为JSON文件等。
电子设备运行时,处理器402调用存储器401中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待转换Excel文件中的所有工作表,并依次遍历各工作表;对于遍历到的每个工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和表头信息对应的数据信息,并将表头信息和数据信息按照字典数据结构依次存储,获取字典数据;将所有工作表的字典数据存储到JSON数据结构中,获取待转换Excel文件对应的JSON文件等。
上述的存储器401中的程序指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。或者,实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还根据上述各实施例提供一种非暂态计算机可读存储介质,其上存储有计算机指令,该计算机指令被计算机执行时,实现如上述各实施例所述的Excel文件转换为JSON文件的方法的步骤,或者实现如上述各实施例所述的Excel文件的文本阅读方法的步骤,或者实现如上述各实施例所述的Excel文件的文本编辑方法的步骤。例如包括:获取待转换Excel文件中的所有工作表,并依次遍历各工作表;对于遍历到的每个工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和表头信息对应的数据信息,并将表头信息和数据信息按照字典数据结构依次存储,获取字典数据;将所有工作表的字典数据存储到JSON数据结构中,获取待转换Excel文件对应的JSON文件等。
本发明实施例提供的电子设备和非暂态计算机可读存储介质,通过执行上述各实施例所述的Excel文件转换为JSON文件的方法,获取并遍历待转换Excel文件的所有工作表,并将遍历工作表时获取的表头信息和数据信息按照字典数据结构依次存储,不仅能保证完整而有效的对Excel文件进行JSON格式的转换,而且可以对有表头的Excel进行有效处理,从而能够更便利的进行Excel文件的文本阅读与编辑。
可以理解的是,以上所描述的装置、电子设备及存储介质的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,既可以位于一个地方,或者也可以分布到不同网络单元上。可以根据实际需要选择其中的部分或全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解,各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令,用以使得一台计算机设备(如个人计算机,服务器,或者网络设备等)执行上述各方法实施例或者方法实施例的某些部分所述的方法。
另外,本领域内的技术人员应当理解的是,在本发明实施例的申请文件中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例的说明书中,说明了大量具体细节。然而应当理解的是,本发明实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明实施例公开并帮助理解各个发明方面中的一个或多个,在上面对本发明实施例的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明实施例的单独实施例。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

Claims (7)

1.一种Excel文件转换为JSON文件的方法,其特征在于,包括:
获取待转换Excel文件中的所有工作表,并依次遍历各所述工作表;
对于遍历到的每个所述工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息,并将所述表头信息和所述数据信息按照字典数据结构依次存储,获取字典数据;
将所有所述工作表的所述字典数据存储到JSON数据结构中,获取所述待转换Excel文件对应的JSON文件;
在所述获取该工作表的表头信息和所述表头信息对应的数据信息的步骤之前,还包括:
在遍历所述工作表中的所有行和所有列的过程中,若检测到存在汉字字符,则将所述汉字字符进行编解码处理,并基于编解码处理的结果,获取所述表头信息和所述数据信息;
在所述获取待转换Excel文件中的所有工作表的步骤之后,还包括:
获取所述工作表的总数,并在完成遍历每一所述工作表之后,基于所述工作表的总数,检测所述待转换Excel文件是否被遍历完成;
所述通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息的步骤具体包括:
获取表头所在的行号,依次遍历所述行号对应的行中的每一列,获取所述表头信息;
依次遍历所述工作表中除所述行号对应的行之外的每一行,对于遍历到的每一行,依次遍历该行的所有列,获取所述数据信息,并根据所述表头信息对应的列号与所述数据信息对应的列号,将所述表头信息与所述数据信息关联。
2.根据权利要求1所述的Excel文件转换为JSON文件的方法,其特征在于,在所述获取表头所在的行号的步骤之前,还包括:
获取各所述工作表中行的总数和列的总数,并且,对于每一所述工作表,在完成遍历该工作表中每一行之后,基于所述行的总数,检测所有行是否被遍历完成,对于所述工作表中的每一行,在完成遍历该行中每一列之后,基于所述列的总数,检测所有列是否被遍历完成。
3.一种Excel文件转换为JSON文件的装置,其特征在于,包括:
第一遍历模块,用于获取待转换Excel文件中的所有工作表,并依次遍历各所述工作表;
第二遍历模块,用于对于遍历到的每个所述工作表,通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息,并将所述表头信息和所述数据信息按照字典数据结构依次存储,获取字典数据;
转换输出模块,用于将所有所述工作表的所述字典数据存储到JSON数据结构中,获取所述待转换Excel文件对应的JSON文件;
在所述获取该工作表的表头信息和所述表头信息对应的数据信息的步骤之前,还包括:
在遍历所述工作表中的所有行和所有列的过程中,若检测到存在汉字字符,则将所述汉字字符进行编解码处理,并基于编解码处理的结果,获取所述表头信息和所述数据信息;
在所述获取待转换Excel文件中的所有工作表的步骤之后,还包括:
获取所述工作表的总数,并在完成遍历每一所述工作表之后,基于所述工作表的总数,检测所述待转换Excel文件是否被遍历完成;
所述通过分别遍历该工作表中的所有行和所有列,获取该工作表的表头信息和所述表头信息对应的数据信息的步骤具体包括:
获取表头所在的行号,依次遍历所述行号对应的行中的每一列,获取所述表头信息;
依次遍历所述工作表中除所述行号对应的行之外的每一行,对于遍历到的每一行,依次遍历该行的所有列,获取所述数据信息,并根据所述表头信息对应的列号与所述数据信息对应的列号,将所述表头信息与所述数据信息关联。
4.一种Excel文件的文本阅读方法,其特征在于,包括:按照如权利要求1-2中任一项所述的Excel文件转换为JSON文件的方法,将待阅读Excel文件转换为JSON文件,并基于所述JSON文件,对所述待阅读Excel文件进行文本阅读。
5.一种Excel文件的文本编辑方法,其特征在于,包括:按照如权利要求1-2中任一项所述的Excel文件转换为JSON文件的方法,将待编辑Excel文件转换为JSON文件,并基于所述JSON文件,对所述待编辑Excel文件进行文本编辑。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至2中任一项所述的Excel文件转换为JSON文件的方法的步骤,或者实现如权利要求4所述的Excel文件的文本阅读方法的步骤,或者实现如权利要求5所述的Excel文件的文本编辑方法的步骤。
7.一种非暂态计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被计算机执行时,实现如权利要求1至2中任一项所述的Excel文件转换为JSON文件的方法的步骤,或者实现如权利要求4所述的Excel文件的文本阅读方法的步骤,或者实现如权利要求5所述的Excel文件的文本编辑方法的步骤。
CN201910329852.8A 2019-04-23 2019-04-23 Excel文件转换为JSON文件的方法及装置 Active CN110059303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910329852.8A CN110059303B (zh) 2019-04-23 2019-04-23 Excel文件转换为JSON文件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910329852.8A CN110059303B (zh) 2019-04-23 2019-04-23 Excel文件转换为JSON文件的方法及装置

Publications (2)

Publication Number Publication Date
CN110059303A CN110059303A (zh) 2019-07-26
CN110059303B true CN110059303B (zh) 2023-02-07

Family

ID=67320358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910329852.8A Active CN110059303B (zh) 2019-04-23 2019-04-23 Excel文件转换为JSON文件的方法及装置

Country Status (1)

Country Link
CN (1) CN110059303B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010473B (zh) * 2021-03-05 2023-02-28 山东英信计算机技术有限公司 一种编辑yaml文件的方法和设备
CN113297311B (zh) * 2021-06-16 2023-12-19 北京有竹居网络技术有限公司 一种数据转换方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231665A (zh) * 2008-02-20 2008-07-30 中兴通讯股份有限公司 将数据库中数据导出成Excel文件的装置及其方法
CN105117378A (zh) * 2015-08-05 2015-12-02 联动优势电子商务有限公司 一种json文件转换为excel文件的方法及装置
CN105959433A (zh) * 2016-07-22 2016-09-21 无锡华云数据技术服务有限公司 一种域名解析方法及其域名解析系统
CN108959210A (zh) * 2018-07-09 2018-12-07 网易(杭州)网络有限公司 一种文件转换的方法及装置
CN109408780A (zh) * 2018-09-07 2019-03-01 山东中磁视讯股份有限公司 一种Excel文件转换为JSON文件的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053082B2 (en) * 2011-11-03 2015-06-09 Knowledge Inside Spreadsheet data processing method and system
US10657206B2 (en) * 2015-03-11 2020-05-19 Stats Llc Graphical user interface system and method for natural language generation editing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231665A (zh) * 2008-02-20 2008-07-30 中兴通讯股份有限公司 将数据库中数据导出成Excel文件的装置及其方法
CN105117378A (zh) * 2015-08-05 2015-12-02 联动优势电子商务有限公司 一种json文件转换为excel文件的方法及装置
CN105959433A (zh) * 2016-07-22 2016-09-21 无锡华云数据技术服务有限公司 一种域名解析方法及其域名解析系统
CN108959210A (zh) * 2018-07-09 2018-12-07 网易(杭州)网络有限公司 一种文件转换的方法及装置
CN109408780A (zh) * 2018-09-07 2019-03-01 山东中磁视讯股份有限公司 一种Excel文件转换为JSON文件的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于XML的Excel数据提取和集成研究;夏开建等;《常熟理工学院学报》;20100415(第04期);全文 *
基于数据字典的通用报表自动生成系统的设计与实现;王慕勇等;《计算机应用研究》;19930930(第05期);全文 *

Also Published As

Publication number Publication date
CN110059303A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
US11106714B2 (en) Summary generating apparatus, summary generating method and computer program
CN106156239B (zh) 一种表格抽取方法和装置
US9268749B2 (en) Incremental computation of repeats
CN110059303B (zh) Excel文件转换为JSON文件的方法及装置
CN107451106A (zh) 文本纠正方法及装置、电子设备
CN111125598A (zh) 数据智能查询方法、装置、设备及存储介质
CN109344193B (zh) 一种将结构化数据转化为非结构化数据的方法及系统
CN111143551A (zh) 文本预处理方法、分类方法、装置及设备
CN113590784A (zh) 三元组信息抽取方法、装置、电子设备、及存储介质
CN109165373B (zh) 一种数据处理方法及装置
US10120852B2 (en) Data processing method, non-transitory computer-readable storage medium, and data processing device
CN113553847A (zh) 用于对地址文本进行解析的方法、装置、系统和存储介质
CN115099233A (zh) 一种语义解析模型的构建方法、装置、电子设备及存储介质
CN114970502A (zh) 一种应用于数字政府的文本纠错方法
CN108319586B (zh) 一种信息提取规则的生成和语义解析方法及装置
CN107239520B (zh) 一种通用论坛正文提取方法
CN111291535A (zh) 剧本处理方法、装置、电子设备及计算机可读存储介质
CN113011149B (zh) 一种文本纠错方法及系统
CN115796146A (zh) 一种文件对比方法及装置
CN115270768A (zh) 用于文本中待纠错的目标重点词确定的方法与设备
CN113128231A (zh) 一种数据质检方法、装置、存储介质和电子设备
CN111708891B (zh) 一种多源食材数据之间的食材实体链接方法和装置
WO2022141855A1 (zh) 文本正则方法、装置、电子设备及存储介质
CN113536762A (zh) Json文本的比对方法及装置
CN109190091B (zh) 编码解码方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant