Flat Data Extractor for Hierarchical Spreadsheet Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in automatically extracting and merging flat data units from non-flat inputs like hierarchical spreadsheets, leading to inefficiencies and potential errors in data processing.

Innovation Solution

The use of pandas and openpyxl libraries to read and process spreadsheets, identifying flat data units through empty rows and columns, determining headers, and merging connected units based on matching criteria, facilitates the conversion of non-flat data into a flat, consumable format.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual extraction and merging of flat data units from hierarchical spreadsheets is performed, then data accuracy can be maintained through human judgment, but time consumption and labor effort increase significantly

Engineering Contradiction:
Improvedata extraction accuracyVSAvoiddata processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables automatic self-service extraction and merging of flat data units from hierarchical spreadsheets through algorithmic detection of blank rows/columns and automated header identification, eliminating the need for manual human intervention while maintaining operational efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system transforms the hierarchical structure parameters into flat structure parameters by detecting structural changes (blank rows/columns) and applying transformation rules to convert nested data into flat data units with identified headers, enabling automated processing

Inventive Principle:
Principle #35Parameter changes

2Productivity

If automated extraction of flat data units is implemented, then processing speed increases, but errors may occur in identifying headers and connections between data units

Engineering Contradiction:
Improvedata processing speedVSAvoidheader identification accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system incorporates feedback mechanisms where extraction results are validated against expected patterns, and connection identification is refined through iterative analysis of data relationships, allowing the system to learn from and correct its own extraction decisions

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces manual mechanical judgment with automated computational algorithms that use pattern recognition and logical rules to identify headers and connections, substituting human cognitive processes with machine-based automated decision-making

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Manufacturing precision

If complex algorithms are used to identify connections and merge data units accurately, then merging precision improves, but system complexity and computational resources increase

Engineering Contradiction:
Improvedata merging accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system segments the complex merging task into distinct phases: detection of blank rows/columns, identification of flat data units, header determination, connection identification, and merging execution. Each segment handles a specific aspect, reducing overall system complexity while maintaining accuracy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by first reading the entire spreadsheet structure, identifying all blank rows and columns, and pre-determining potential data unit boundaries before executing the merging logic, which simplifies the subsequent merging process

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230020618A1Spreadsheet Flat Data Extractor
Publication Date: 2023.01.19 SAP SE
  • US20230020618A1 patent drawing
  • US20230020618A1 patent drawing
  • US20230020618A1 patent drawing

AI summary

Systems and methods extract flat data units from a non-flat input, such as a spreadsheet comprising tables organized according to a hierarchy. First, the non-flat input is read (e.g., using pandas in combination with openpyxl) to create a flat dataframe comprising the content of the non-flat input. Next, individual flat data units (e.g., spreadsheet tables) are recognized and split from the dataframe based upon the appearance of blank rows and/or columns. Headers present in the flat data units are determined (e.g., based upon alphabetic cell text, bolded cell text, and/or early position of the cell in a column), and then connections between the flat data units are identified. Based upon the connections, individual flat data units are merged together. The resulting merged flat data units are subsequently available for consumption, for example user reports of content, and/or conversion to a new non-flat format (e.g., relational database schema).