If all items have the same attributes, e.g.
name both of which are strings, then run:
aws dynamodb scan \ --table-name mytable \ --query "Items[*].[id.S,name.S]" \ --output text
That would give tab-separated output. You can redirect this to file using
> output.txt, and you could then easily convert tabs into commas for csv.
Note that you may need to paginate per the scan documentation:
If the total number of scanned items exceeds the maximum dataset size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.
Another option is the DynamoDBtoCSV project at github.