pydatamax 0.1.13__py3-none-any.whl → 0.1.15__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. datamax/__init__.py +1 -1
  2. datamax/loader/core.py +118 -118
  3. datamax/loader/{MinioHandler.py → minio_handler.py} +171 -171
  4. datamax/loader/{OssHandler.py → oss_handler.py} +191 -191
  5. datamax/parser/__init__.py +2 -4
  6. datamax/parser/base.py +76 -76
  7. datamax/parser/core.py +406 -288
  8. datamax/parser/csv_parser.py +31 -10
  9. datamax/parser/doc_parser.py +525 -61
  10. datamax/parser/docx_parser.py +512 -62
  11. datamax/parser/epub_parser.py +41 -41
  12. datamax/parser/html_parser.py +37 -37
  13. datamax/parser/image_parser.py +34 -34
  14. datamax/parser/json_parser.py +32 -10
  15. datamax/parser/md_parser.py +72 -72
  16. datamax/parser/pdf_parser.py +101 -101
  17. datamax/parser/ppt_parser.py +70 -20
  18. datamax/parser/pptx_parser.py +45 -45
  19. datamax/parser/txt_parser.py +45 -45
  20. datamax/parser/xls_parser.py +26 -26
  21. datamax/parser/xlsx_parser.py +212 -208
  22. datamax/utils/__init__.py +23 -2
  23. datamax/utils/constants.py +58 -58
  24. datamax/utils/data_cleaner.py +275 -237
  25. datamax/utils/env_setup.py +79 -79
  26. datamax/utils/gotocr_pdf.py +265 -265
  27. datamax/utils/mineru_operator.py +62 -62
  28. datamax/utils/paddleocr_pdf_operator.py +90 -90
  29. datamax/utils/ppt_extract.py +140 -140
  30. datamax/utils/qa_generator.py +369 -376
  31. datamax/utils/tokenizer.py +21 -21
  32. datamax/utils/uno_handler.py +426 -0
  33. pydatamax-0.1.15.dist-info/METADATA +340 -0
  34. pydatamax-0.1.15.dist-info/RECORD +38 -0
  35. {pydatamax-0.1.13.dist-info → pydatamax-0.1.15.dist-info}/licenses/LICENSE +21 -21
  36. {pydatamax-0.1.13.dist-info → pydatamax-0.1.15.dist-info}/top_level.txt +0 -1
  37. pydatamax-0.1.13.dist-info/METADATA +0 -280
  38. pydatamax-0.1.13.dist-info/RECORD +0 -39
  39. tests/__init__.py +0 -0
  40. tests/test_basic.py +0 -20
  41. {pydatamax-0.1.13.dist-info → pydatamax-0.1.15.dist-info}/WHEEL +0 -0
@@ -1,10 +1,31 @@
1
- from datamax.parser.base import MarkdownOutputVo
2
-
3
-
4
- class CsvParser:
5
-
6
- def __init__(self, filename):
7
- self.filename = filename
8
-
9
- def parse(self) -> MarkdownOutputVo:
10
- pass
1
+ import pandas as pd
2
+
3
+ from datamax.parser.base import BaseLife, MarkdownOutputVo
4
+
5
+
6
+ class CsvParser(BaseLife):
7
+
8
+ def __init__(self, file_path):
9
+ super().__init__()
10
+ self.file_path = file_path
11
+
12
+ @staticmethod
13
+ def read_csv_file(file_path: str) -> pd.DataFrame:
14
+ """Read a CSV file into a pandas DataFrame."""
15
+ return pd.read_csv(file_path)
16
+
17
+ def parse(self, file_path: str) -> MarkdownOutputVo:
18
+ try:
19
+ df = self.read_csv_file(file_path)
20
+ mk_content = df.to_markdown(index=False)
21
+ lifecycle = self.generate_lifecycle(
22
+ source_file=file_path,
23
+ domain="Technology",
24
+ usage_purpose="Documentation",
25
+ life_type="LLM_ORIGIN",
26
+ )
27
+ output_vo = MarkdownOutputVo(self.get_file_extension(file_path), mk_content)
28
+ output_vo.add_lifecycle(lifecycle)
29
+ return output_vo.to_dict()
30
+ except Exception as e:
31
+ raise e