Skip to content

Commit ac054ac

Browse files
authored
Create README.md
1 parent 7e7b48b commit ac054ac

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# eBird CSV Parser
2+
3+
The eBird CSV Parser is a convenient tool for parsing downloaded eBird CSV files, which contain bird observation data. It allows for further manipulation and processing of the data in a structured manner. This tool is especially useful for working with large datasets and performing custom analyses.
4+
5+
## Features
6+
7+
- Parses eBird CSV files downloaded from [https://ebird.org/downloadMyData](https://ebird.org/downloadMyData).
8+
- Ignores observation and checklist comments to avoid memory problems during parsing.
9+
- Supports different parsing modes for flexibility and performance optimization.
10+
11+
## Usage
12+
13+
To use the eBird CSV Parser, you can call the `parseCsv` method with the appropriate parameters. Here are some example usages:
14+
15+
```java
16+
EbirdCsvParser.parseCsv(csvFile, RouteLoader::parseCsvLine, ParseMode.SINGLE_THREAD, PreSort.DATE);
17+
```
18+
19+
In this case, the CSV file is first sorted by date. This can be useful when you want to operate on a limited set of records and fetch checklists in order. Please note that sorting by date incurs a performance hit.
20+
21+
22+
```java
23+
EbirdCsvParser.parseCsv(msc.getCsvFile(), this::parseCsvLine, ParseMode.MULTI_THREAD, PreSort.NONE);
24+
```
25+
26+
When using the MULTI_THREAD mode, ensure that your RowProcessor implementation can handle multiple threads and that any data structures used are concurrently modifiable.
27+
28+
## Contribution
29+
Contributions to the eBird CSV Parser project are welcome! If you find any issues or have suggestions for improvements, please create an issue or submit a pull request.

0 commit comments

Comments
 (0)