Given a CSV file with the "Zip Code" and "Country Code" columns including a header row and current weather API: [login to view URL], generate a new CSV file satisfying following conditions:
1. Combine 5 day weather forecast data from weather forecast API and generate a CSV with containing minimum and maximum temperatures for next 5 days. The output CSV file shall have following columns:
Zip Code, Country Code, Min, Max
2. The output file must contain a header row.
3. The order of zip codes in output file must match order of zip codes in input file.
4. For any errors from API for a Zip code and country code (such as invalid zip or country), generate a row with blank min and max temperatures.
5. The solution shall be able to process large files on low end machines. As an example, the solution shall be able to process a 1GB file on a virtual machine with 512MB RAM.
You can sign up for a free API key at [login to view URL]
The program must be invoked as follows:
1. Depending on your language choice, amex_b9_test may need to be bash script (or a .bat) that actually invokes your code.
amex_b9_test <input_file> <output_file>
amex_b9_test data/[login to view URL] [login to view URL]
2. You may use any open source / publicly available libraries for that language that you need. Please use package manager to include the dependencies.
3. Include as many tests as you can
4. Send us tar or zip of your solution. Please do not include external dependency (jar, dll, node_modules) in your tar or zip file, instead use package manager.
5. If using .NET, please target .NET Core runtime so that we can test it on mac or Linux systems.