feat: Add LinkedIn folder-based data archive import support#138
Merged
feat: Add LinkedIn folder-based data archive import support#138
Conversation
Extends the LinkedIn import functionality to support LinkedIn's full data export folder format (ZIP archive extracted to folder). Changes: - Add _import_from_folder() method to handle folder-based exports - Add _read_csv_file() helper to parse LinkedIn CSV files - Support CSV column names used in LinkedIn data exports: - Profile.csv: First Name, Last Name, Headline, Geo Location, Websites - Positions.csv: Company Name, Title, Started On, Finished On, Description - Education.csv: School Name, Degree Name, Start Date, End Date, Notes - Skills.csv: Name - Certifications.csv: Name, Authority, Started On, URL, License Number - Handle list format from CSV (folder export) in _map_linkedin_to_resume() - Handle empty end dates as current position (Present) - Support Profile Summary.csv for professional summary Usage: resume-cli linkedin-import --data-file /path/to/extracted/linkedin-folder/
added 4 commits
February 18, 2026 12:46
…, phone, and location parsing - Run Black formatter on all files to fix lint failures - Fix _extract_contact() to extract email and phone fields from profile data - Fix location parsing to handle dict format (JSON export) with city/state keys and string format (CSV export) with full string - This fixes the test_extract_contact KeyError: 'email' test failure
- Remove unused license_num variable in linkedin.py (ruff F841) - Fix unused imports in preview.py and pdf/renderer.py (ruff F401) - Fix import ordering in resume_pdf_lib/__init__.py (isort)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the LinkedIn import functionality to support LinkedIn's full data export folder format (the ZIP archive that LinkedIn provides when you request your full data).
Problem
Previously, only supported single JSON or CSV files. LinkedIn's full data export is a ZIP file containing multiple CSV files (Profile.csv, Positions.csv, Education.csv, Skills.csv, Certifications.csv, etc.). Users had to manually extract individual files and import them one at a time.
Changes
New: Folder-based import
_import_from_folder()method to handle folder-based exports_read_csv_file()helper to parse LinkedIn CSV filesCSV column name support
LinkedIn CSV files use different column names than the JSON export:
First Name,Last Name,Headline,Geo Location,WebsitesCompany Name,Title,Started On,Finished On,DescriptionSchool Name,Degree Name,Start Date,End Date,NotesNameName,Authority,Started On,URL,License NumberOther improvements
_map_linkedin_to_resume()Present)Profile Summary.csvfor professional summaryUsage
Testing
Tested with actual LinkedIn data export folder containing Profile.csv, Positions.csv, Education.csv, Skills.csv, and Certifications.csv.