windowdog 1 hónapja
szülő
commit
2bdd2390ae

+ 39 - 41
src/code/handle_dune_py/merge_swap_total_info_dune_from_manydunecsv_to_一个多列xlsx文档.py → src/code/handle_dune_py/002_merge_swap_total_info_dune_from_manydunecsv_to_一个多列xlsx文档.py

@@ -2,7 +2,7 @@
 # 将不同时间的swap 合并在一起 分析他们的变化 找出庄家地址/分析庄家变化 
 import pandas as pd
 import sys
-
+import os
 import datetime
 import pytz
 from openpyxl.styles import *
@@ -10,7 +10,8 @@ from openpyxl.styles import *
 arr_file = []
 merged_df = None
  
-token_add = ""
+def makeurl( url,url_show):
+    return '=HYPERLINK("{}","{}")'.format(url,  url_show)
 
 def get_nowdate():
 
@@ -36,9 +37,11 @@ def utc_2_shanghaidate(df , utc_time_col ):
     print(df)
  
 
+ 
 def merge_swap_df_fun_01():    
+    global merged_swap_toal_info_file
     # style = pd.DataFrame().style
-    global arr_file , merged_df , domains_df,token_add
+    global arr_file , merged_df , token_add
     for index, file in enumerate(arr_file):
         date_range = file.replace(".csv","").split("_")
         date_range = date_range[-2]+"_"+date_range[-1]
@@ -53,8 +56,8 @@ def merge_swap_df_fun_01():
             "eth_s":float,
             "b_count":float,
             "s_count":float,
-            "avg_b_pri":float,
-            "avg_s_pri":float
+            "avg_b_mc":float,
+            "avg_s_mc":float
         })
 
 
@@ -67,11 +70,21 @@ def merge_swap_df_fun_01():
             merged_df = cur_df
             continue
         merged_df = pd.merge(merged_df, cur_df, on='swap_trader_id', how='outer')
-
-
-    # merged_df.to_excel( f"merge_swap_{get_nowdate()}.xlsx",index=False)
+        
+    merged_df["gmgn"] = merged_df.apply(lambda ser: makeurl(
+    f"https://gmgn.ai/sol/token/{token_add}?tab=activity&maker={ser['swap_trader_id']}" , "gmgn" ), axis=1)
+    merged_df["defined"] = merged_df.apply(lambda ser: makeurl(
+     f"https://www.defined.fi/sol/{token_add}?maker={ser['swap_trader_id']}" , "defined" ), axis=1)
+    merged_df["beizhu"] = None
+    
+ 
+    
+    merged_swap_toal_info_file = f"002_merge_swap_total_info_{get_nowdate()}.xlsx"
+    merged_df.to_excel(merged_swap_toal_info_file ,index=False)
+    
+    
+    
 # https://www.w3schools.com/colors/colors_hex.asp    
-
 yellow_fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')  # 黄色填充
 
 
@@ -87,38 +100,25 @@ Orange_fill = PatternFill(start_color='FFA500', end_color='FFA500', fill_type='s
 
 
 
-merged_hodlers_file = ""
+merged_swap_toal_info_file = ""
 def merge_swap_df_fun_02():
-    global merged_hodlers_file
-    merged_hodlers_excel = pd.ExcelFile(merged_hodlers_file)
-    arr_sheet_names = list(merged_hodlers_excel.sheet_names)
-    arr_sheet_names.pop(0)
+    global merged_swap_toal_info_file
+    # merged_hodlers_excel = pd.ExcelFile(merged_swap_toal_info_file)
+    # arr_sheet_names = list(merged_hodlers_excel.sheet_names)
+    # arr_sheet_names.pop(0)
     
     
     arr_df = []
     arr_df.append(merged_df)
     
-    for sheet_name in arr_sheet_names:
-        holder_df = merged_hodlers_excel.parse(sheet_name=sheet_name)
-        cur_df = merged_df[  merged_df['swap_trader_id'].isin(holder_df['holder_owner'])].reset_index(drop=True)
-
-        # https://geek-docs.com/pandas/pandas-questions/214_pandas_coloring_cells_in_excel_with_pandas.html
-        # 上色
-# https://geek-docs.com/pandas/pandas-questions/214_pandas_coloring_cells_in_excel_with_pandas.html#google_vignette
-        cur_df = cur_df.set_index('swap_trader_id').reindex(holder_df['holder_owner']).reset_index()
-
-        arr_df.append(cur_df)   
-    time_str = get_nowdate()
 
-
-    with pd.ExcelWriter(f'merge_swap_{time_str}.xlsx') as writer:
+    with pd.ExcelWriter(merged_swap_toal_info_file) as writer:
         for idx ,cur_df in enumerate(arr_df):
             sheet_name = ''
 
             if idx==0:
                 sheet_name = 'Sheet1'
-            else:
-                sheet_name = arr_sheet_names[idx-1]
+
             cur_df.to_excel(writer, sheet_name=sheet_name, index=False)
             worksheet = writer.sheets[sheet_name]
 
@@ -126,14 +126,14 @@ def merge_swap_df_fun_02():
 # pandas 和 openpyxl 如何获取某一列的名字 ,然后对指定列填充颜色
                 # 应用填充颜色到指定单元格范围(例如:A2:A4)
             # target_column = 'swap_trader_id'
-            arr_col_buy_pri = [col for col in cur_df.columns if 'avg_b_pri' in col  ]
-            arr_col_sell_pri = [col for col in cur_df.columns if 'avg_s_pri' in col  ]
+            arr_col_buy_mc = [col for col in cur_df.columns if 'avg_b_mc' in col  ]
+            arr_col_sell_mc = [col for col in cur_df.columns if 'avg_s_mc' in col  ]
             arr_col_li_lun_hold = [col for col in cur_df.columns if 'li_lun_hold' in col  ]
             arr_col_token_b = [col for col in cur_df.columns if 'token_b_M' in col  ]
             arr_col_token_s = [col for col in cur_df.columns if 'token_s_M' in col  ]
 
 
-            for target_column  in arr_col_buy_pri:
+            for target_column  in arr_col_buy_mc:
                 column_index = cur_df.columns.get_loc(target_column) + 1  # +1 转换为 Excel 列索引
                 for row in range(2, len(cur_df) + 2):  # 从第2行到最后一行
                     cell =  worksheet.cell(row=row, column=column_index)
@@ -144,7 +144,7 @@ def merge_swap_df_fun_02():
                     cell =  worksheet.cell(row=row, column=column_index)
                     cell.fill = ForestGreen_fill
  
-            for target_column  in arr_col_sell_pri:
+            for target_column  in arr_col_sell_mc:
                 column_index = cur_df.columns.get_loc(target_column) + 1  # +1 转换为 Excel 列索引
                 for row in range(2, len(cur_df) + 2):  # 从第2行到最后一行
                     cell =  worksheet.cell(row=row, column=column_index)
@@ -164,16 +164,14 @@ def merge_swap_df_fun_02():
 
 
 
-def makeurl( url,url_show):
-    return '=HYPERLINK("{}","{}")'.format(url,  url_show)
+
+
+token_add = "2ZoJVM15fbbDgo6s5cTTX2Sj8V4sJ47rimb7gQhGpump"
 
 if __name__ == "__main__":
-    if len(sys.argv)<3:
-        print("args queshao ")
-        sys.exit(1)
-    # token_add = sys.argv[1]
-    merged_hodlers_file = sys.argv[1]
-    arr_file =sys.argv[2:]
+ 
+    arr_file = os.listdir()
+    
     arr_file = [file for file in arr_file if   file.startswith( "dune_swap_total_info_xx")  and file.endswith(".csv")]
     arr_file.sort()
     print("read file: ",arr_file)

+ 1 - 1
src/library/analysis_token/2ZoJVM15fbbDgo6s5cTTX2Sj8V4sJ47rimb7gQhGpump/002_merge_swap_total_info_dune_from_manydunecsv_to_一个多列xlsx文档.py

@@ -79,7 +79,7 @@ def merge_swap_df_fun_01():
     
  
     
-    merged_swap_toal_info_file = f"merge_swap_total_info_{get_nowdate()}.xlsx"
+    merged_swap_toal_info_file = f"002_merge_swap_total_info_{get_nowdate()}.xlsx"
     merged_df.to_excel(merged_swap_toal_info_file ,index=False)
     
     

BIN
src/library/analysis_token/2ZoJVM15fbbDgo6s5cTTX2Sj8V4sJ47rimb7gQhGpump/merge_swap_total_info.xlsx


BIN
src/library/analysis_token/2ZoJVM15fbbDgo6s5cTTX2Sj8V4sJ47rimb7gQhGpump/top_trader_gmgn_2ZoJVM15fbbDgo6s5cTTX2Sj8V4sJ47rimb7gQhGpump.xlsx


BIN
src/library/analysis_token/2ZoJVM15fbbDgo6s5cTTX2Sj8V4sJ47rimb7gQhGpump/汇总token.xlsx