- General User Section
- Coder Section
This program aims to provide easy and offline access to convert various file types to other file types.
Developed Usage:
- Transfer XML files generated from labelImg, which specifies the selected region coordinate of pictures, and turn them into CSV files for further processing.
- Renaming many files with only a few clicks can significantly decrease the time needed when generating AI training files.
- Able to convert between markdown, CSV, and Parquet files is extremely useful for data management since my current data is managed with Obsidian, which is suitable for viewing data but not managing them.
- Single Conversion: This tab allows you to convert a single file from one file type to another. Operation Steps:
- Bulk to Bulk Conversion:
This tab allows you to convert all specified types of files in one folder to another.
Operation Steps:
- Select the source folder.
- Select the export folder.
- Select the converter.
- Click the select button.
- For the "File Rename" converter, an additional source file type and export filename initial number are required.
Source Filetype: The filetype of the source files that you intended to rename. Example: ".xlsx", ".csv", ".txt", etc.
Export Filename Initial Number: The initial number of the export filename. All the files are renamed with an incremental number based on the initial number. Example: "1", "1001", "100001", etc. - Click the convert and export button.
- File Merge: This tab allows you to merge multiple files into a single file.
- Execution Log: This tab provides a log for every operation the user performs and is used to track back errors.
- Instructions: Provide instructions on using this program.
- About: This tab provides information about the program.
- Windows 11
- Python 3.10.4
- numpy == 1.23.0
- pandas == 1.4.3
- PySimpleGUI == 4.60.1
- ffc.py
- event_handler_function.py
- converter_functions.py
- gui_layout.py
- event_handler_function.py
- .github/ISSUE_TEMPLATE
- ISSUE_TEMPLATE
- bug_report.md
- custom.md
- feature_request.md
- workflows
- checkmarx.yml
- codacy.yml
- codeql-analysis.yml
- dependency-review.yml
- ISSUE_TEMPLATE
- .gitignore: File types not included in this repo.
- CONTRIBUTING.md: What to do if you want to contribute.
- LICENSE: MIT license detail.
- README.md: Introduction to this repo.
- converter_functions.yp: Store all the functions beside GUI.
- event_handler_function.py: GUI and function execution.
- ffc.py: Workflow.
- gui_layout.py:
- requirements.txt: List of python library can be used to install them. "$ pip install -r python_library_requirement.txt"
- FFC Program
- Single Conversion
- GUI Layout
- GUI Event Handling
- Conversion Algorithm
- Operation Rule
- Bulk to Bulk Conversion
- GUI Layout
- GUI Event Handling
- Conversion Algorithm
- Operation Rule
- File Merge
- GUI Layout
- GUI Event Handling
- Conversion Algorithm
- Operation Rule
- Single Conversion
- Conversion Algorithm
- Single Conversion
- MD to CSV
- CSV to MD
- XML to CSV
- CSV to Parquet
- Parquet to CSV
- Rename
- Bulk to Bulk Conversion
- MD to CSV
- CSV to MD
- XML to CSV
- CSV to Parquet
- Parquet to CSV
- Rename
- File Merge
- CSV
- Parquet
- MD
- XML to CSV
- Single Conversion
*MD: Markdown files that contain only one table.
*XML: XML files generated from labelImg.
- Convert and Export: Please select converter.
Problem: Button 'Convert and Export' in the tab 'Single Conversion' doesn't work even if all names and directories are correct.
Fix: Try to install the python package 'pyarrow'.
- ListBox -> Program Freeze.
Problem: Click on the list box in the tab 'Single Conversion' before selecting any directory will cause it to freeze.
Status: Unsolved. - Window -> Always on top.
Problem: The entire FFC window is always displayed on top of every other window.
Status: Fixed. - Select -> Program Freeze.
Problem: Click 'Select' in tab 'Single Conversion' before 'Export Filename' was input causing it to freeze.
Status: Unsolved. - Bulk to Bulk CSV to Parquet -> Parquet file can't be previewed.
Problem: When doing the above-mentioned process, those CSV files' table contains not only the numbers that would result like this.
Status: Unsolved.
- Rewrite the validating mechanism of the tab 'Single Conversion'.
- Add validating mechanism to the tab 'Bulk to Bulk Conversion'.
- Add a progress bar in the tab 'Bulk to Bulk Conversion'.
- Add multiprocessing feature to the tab 'Bulk to Bulk Conversion'.
- Refresh the window when 'Convert and Export' is processing.
- Add JSON Converter.
- Add AVRO Converter.