{"id":21881,"library":"robotframework-csvlibrary","title":"robotframework-csvlibrary","description":"Robot Framework library for reading and writing CSV files (with DotDict support). Current version 0.0.5, released 2025-01-05. Low maintenance cadence.","status":"active","version":"0.0.5","language":"python","source_language":"en","source_url":"https://github.com/s4int/robotframework-CSVLibrary","tags":["robotframework","csv","test-automation","testing"],"install":[{"cmd":"pip install robotframework-csvlibrary","lang":"bash","label":"pip install"}],"dependencies":[],"imports":[{"note":"This is a Robot Framework library, imported in .robot files using Library, not Python import.","wrong":"import CSVLibrary","symbol":"CSVLibrary","correct":"Library  CSVLibrary"}],"quickstart":{"code":"*** Settings ***\nLibrary  CSVLibrary\n\n*** Test Cases ***\nRead CSV File To List\n    ${data}=    read csv file to list    data.csv\n    Log Many    @{data}","lang":"robotframework","description":"Basic usage: import CSVLibrary and use read csv file to list keyword."},"warnings":[{"fix":"Update test cases to use DotDict syntax: ${dict}[key] or ${dict.key}.","message":"Version 0.0.5 introduced DotDict support; associative returns DotDict objects instead of dicts. This changes how you access items: use ${dict}[key] or ${dict.key} for keys without spaces.","severity":"breaking","affected_versions":">=0.0.5"},{"fix":"Use ${dict}['header with spaces'] instead of ${dict}.header_with_spaces.","message":"The library does NOT support spaces in CSV headers when using DotDict syntax (e.g., ${dict}.First Name fails). Use standard bracket notation instead: ${dict}['First Name'].","severity":"gotcha","affected_versions":"all"},{"fix":"Use 'read csv file to associative' (returns DotDict) or 'read csv file to list' for lists.","message":"Old keyword 'read csv file to associative' returns dict; new keyword returns DotDict. The old behavior is deprecated and may be removed.","severity":"deprecated","affected_versions":"0.0.5"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"In your .robot file, use 'Library  CSVLibrary' instead of Python import.","cause":"Importing in Python instead of Robot Framework's Library setting.","error":"ModuleNotFoundError: No module named 'robotframework_csvlibrary'"},{"fix":"Use 'read csv file to associative' to get DotDicts, or access by index: ${data}[0][0].","cause":"Using DotDict syntax on a list returned by 'read csv file to list' (returns list of lists).","error":"AttributeError: 'list' object has no attribute 'first_name'"},{"fix":"Ensure the CSV file contains data and headers (for associative).","cause":"CSV file is empty or has no data rows.","error":"ValueError: No columns to parse from file"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}