Bläddra i källkod

modify: 优化excel读取列名处理

yq 5 månader sedan
förälder
incheckning
39dad70ee1
4 ändrade filer med 11 tillägg och 4 borttagningar
  1. 2 1
      data/__init__.py
  2. 8 0
      data/loader/data_loader_excel.py
  3. 0 2
      monitor/report_generate.py
  4. 1 1
      requirements.txt

+ 2 - 1
data/__init__.py

@@ -4,10 +4,11 @@
 @time: 2024/10/30
 @desc: 数据加载、加工相关
 """
+from .loader.data_loader_excel import DataLoaderExcel
 from .loader.data_loader_base import DataLoaderBase
 from .loader.data_loader_mysql import DataLoaderMysql
 
-__all__ = ['DataLoaderBase', 'DataLoaderMysql']
+__all__ = ['DataLoaderBase', 'DataLoaderMysql', 'DataLoaderExcel']
 
 if __name__ == "__main__":
     pass

+ 8 - 0
data/loader/data_loader_excel.py

@@ -24,4 +24,12 @@ class DataLoaderExcel(DataLoaderBase):
 
     def get_data(self, file_path: str, sheet_name: str = 0) -> pd.DataFrame:
         df = pd.read_excel(file_path, sheet_name=sheet_name, index_col=False)
+        columns = df.columns.to_list()
+        columns_new = []
+        for idx, column in enumerate(columns):
+            if idx != 0 and "Unnamed:" in column:
+                columns_new.append(columns_new[-1])
+            else:
+                columns_new.append(column)
+        df.columns = columns_new
         return df

+ 0 - 2
monitor/report_generate.py

@@ -108,8 +108,6 @@ class Report():
                 paragraph._element.addnext(table._element)
                 # 列名
                 for column_idx, column_name in enumerate(metric_table.columns):
-                    if column_name == "c3":
-                        column_name = "c2"
                     cell = table.cell(0, column_idx)
                     cell.text = str(column_name)
                     for run in cell.paragraphs[0].runs:

+ 1 - 1
requirements.txt

@@ -1,3 +1,3 @@
 pymysql==1.0.2
 python-docx==0.8.11
-
+xlrd==1.2.0