Skip to content

Commit 8945ebe

Browse files
committed
24_6
1 parent 754466d commit 8945ebe

File tree

8 files changed

+31
-10
lines changed

8 files changed

+31
-10
lines changed

README.me

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ My reference implementation for csv tools in mojo
33

44
### usage
55
```
6+
from mojo_csv import CsvReader
7+
68
with open(in_csv, "r") as fi:
7-
var rd = CsvReader(fi.read())```
9+
var rd = CsvReader(fi.read())
10+
```
11+
12+
813

9-
_working on build v25.5 (2025-01-08)_

dist/csv_reader_24_4_4.mojopkg

-276 KB
Binary file not shown.

dist/csv_reader_24_5.mojopkg

-520 KB
Binary file not shown.

dist/mojo_csv.mojopkg

723 KB
Binary file not shown.

mojo_csv.mojopkg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
./dist/mojo_csv.mojopkg

mojoproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ channels = ["conda-forge", "https://conda.modular.com/max"]
44
description = "csv parser in mojo"
55
name = "mojo_csv"
66
platforms = ["linux-64"]
7-
version = "0.1.0"
7+
version = "0.1.1"
88

99
[tasks]
10+
test = "mojo test.mojo test.csv"
11+
build_package = "mojo package src -o dist/mojo_csv.mojopkg"
1012

1113
[dependencies]
1214
max = ">=24.6.0,<25"

src/csv_reader.mojo

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ from sys import argv
44

55
# item1,"ite,m2",item3
66

7-
8-
@value
97
struct CsvReader[]:
108
# var data: Dict[String,String]
119
var headers: List[String]
@@ -21,7 +19,7 @@ struct CsvReader[]:
2119
var col_count: Int
2220

2321
fn __init__(
24-
inout self,
22+
out self,
2523
# owned in_csv: Path,
2624
owned in_csv: String,
2725
owned delimiter: String = ",",
@@ -49,7 +47,6 @@ struct CsvReader[]:
4947
var skip:Bool = False
5048
for pos in range(self.length):
5149
var char: String = self.raw[pos]
52-
# print(pos, "char: ", char)
5350
# --------
5451

5552
if skip:

test.mojo

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,26 @@ from sys import argv
55
from src.csv_reader import CsvReader
66
# from src.open_csv import open_csv
77

8-
def main():
8+
from mojo_csv import CsvReader as CsvReaderD
9+
10+
fn dist_check(read test_csv: Path):
11+
print("----------")
912
try:
10-
in_csv = Path(argv()[1])
13+
# print(in_csv)
14+
with open(test_csv, "r") as fi:
15+
var rd = CsvReaderD(fi.read())
16+
# print(rd.col_count)
17+
for x in range(len(rd.elements)):
18+
print(rd.elements[x])
19+
# -------------
20+
except Exception:
21+
print("error: ", Exception)
22+
23+
24+
25+
fn main():
26+
try:
27+
var in_csv: Path = Path(argv()[1])
1128
# print(in_csv)
1229
with open(in_csv, "r") as fi:
1330
var rd = CsvReader(fi.read())
@@ -19,7 +36,7 @@ def main():
1936
# print(rd.col_count)
2037
# for x in range(len(rd.elements)):
2138
# print(rd.elements[x])
22-
39+
dist_check(in_csv)
2340

2441
except Exception:
2542
print("error: ", Exception)

0 commit comments

Comments
 (0)