Write a CSV class
$10-30 USD
Paid on delivery
# Write a CSV parser that handles complex files without using the standard library.
# A standard CSV has fields separated by commas and rows separated by newlines. It may
# also have fields wrapped in quotes. Your CSV parser needs to handle quoted fields that
# may contain delimiter and newline characters.
# Spec (based on [login to view URL]):
# - The parser should return an array of arrays, one array for each row of the CSV file.
# - Rows are delimited by the newline character ("\n").
# - Each column is divided by a separator character (default ",").
# - Empty fields are valid.
# - Likewise, an empty row is still valid, and effectively contains a single empty field.
# - Uneven rows are valid.
# - A quoted field starts and ends with the same character (default '"'), and every
# character in between makes up the field value, including delimiters and newlines.
# - Quoted fields start immediately following a separator character, newline,
# or start of the file.
# - A quote character within a quoted field must be escaped by preceding it
# with another quote character.
# - Throw an error on unclosed quoted fields (or stray quotes inside fields).
# - Write tests that test your parser against the above spec.
# - Benchmark your solution.
class CSV
def [login to view URL](*); end
end
# Examples:
# Expected: [['a', 'b', 'c'], ['d', 'e', 'f']]
print [login to view URL]("a,b,c\nd,e,f"), "\n"
# Expected: [["one", "two wraps,\nonto \"two\" lines", "three"], ["4", "", "6"]]
print [login to view URL]("one,\"two wraps,\nonto \"\"two\"\" lines\",three\n4,,6"), "\n"
# Expected: [['alternate', '"quote"'], [''], ['character', 'hint: |']]
print [login to view URL]("|alternate|\t|\"quote\"|\n\n|character|\t|hint: |||", "\t", "|"), "\n"
# Expected: "Argument error: unclosed quote"
begin
print [login to view URL]('"dog","cat","uhoh'), "\n"
rescue ArgumentError => e
puts "ArgumentError: #{e}"
end
Project ID: #15232896
About the project
4 freelancers are bidding on average $96 for this job
Hello, I am new on the site, but I have wide experience in java development, and I can do what you need on java Relevant Skills and Experience 1 Proposed Milestones $100 USD - 1 e