Skip to content

Conversation

@patelheet30
Copy link
Owner

Summary

Adds JSON and CSV export capabilities for programmatic use and spreadsheet analysis.

New Features

JSON Export

  • Structured JSON output with shape, issue count, and detailed issues
  • Each issue includes: check type, column, severity, message
  • Use in APIs, data pipelines, or automated workflows

CSV Export

  • Spreadsheet-friendly CSV format
  • Easy to import into Excel or Google Sheets
  • Columns: check, column, severity, message

Dictionary Output

  • return_dict=True for Python dictionary
  • Perfect for programmatic use in scripts

Usage Examples

# JSON export
df.lint.report(report_format='json', output='report.json')

# CSV export  
df.lint.report(report_format='csv', output='issues.csv')

# Get Python dict
data = df.lint.report(return_dict=True)
print(data['issue_count'])

# All formats support specific checks
df.lint.report(
    report_format='json',
    checks_to_run=['missing', 'duplicates'],
    output='focused.json'
)

Documentation

  • CHANGELOG.md updated
  • README.md roadmap completed
  • Method docstrings updated

Breaking Changes

None - fully backward compatible

Related

Part 3 of v0.7.0 development. Completes v0.7.0 feature set!

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds JSON and CSV export capabilities to the LintData reporting system, enabling programmatic use and spreadsheet analysis. The implementation includes comprehensive test coverage and maintains backward compatibility with existing text and HTML formats.

Key Changes

  • Added JSON, CSV, and dictionary output formats to the report() method
  • Implemented structured data parsing from warning strings with severity classification
  • Added comprehensive test suite with 30+ tests covering all export formats and edge cases

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
tests/test_export.py New test file with comprehensive coverage for JSON, CSV, and dict exports including edge cases
src/lintdata/accessor.py Extended report() method with new formats and added helper methods for parsing/formatting warnings
README.md Updated roadmap to mark export options as complete
CHANGELOG.md Documented new export features and helper methods

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 10 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@patelheet30 patelheet30 merged commit 4720965 into main Nov 22, 2025
4 checks passed
@patelheet30 patelheet30 deleted the feat/html-reports-v0.7 branch November 26, 2025 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants