From 82d7c37a798aec8235cfc3ca2381268f8234bcb7 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Mon, 17 Mar 2025 13:14:56 +0800 Subject: [PATCH] 'commit' --- .../Model/__pycache__/biModel.cpython-310.pyc | Bin 3958 -> 4023 bytes AI/Text2Sql/Util/SaveToExcel.py | 11 ++++++----- .../__pycache__/SaveToExcel.cpython-310.pyc | Bin 1781 -> 1910 bytes AI/Text2Sql/__pycache__/app.cpython-310.pyc | Bin 8622 -> 8785 bytes .../5b9f90f1-3787-4590-a0a1-5ad7acbcae9a.xlsx | Bin 0 -> 6217 bytes .../7feb6ea8-2f81-4c44-b480-166e27ca03c1.xlsx | Bin 0 -> 6192 bytes .../e4e43a2a-c1af-4fb5-a772-1cd9cb85c0bf.xlsx | Bin 0 -> 6475 bytes .../ea441e06-a8d0-41c7-a056-7449c8afd054.xlsx | Bin 0 -> 6440 bytes 8 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 AI/Text2Sql/static/xlsx/5b9f90f1-3787-4590-a0a1-5ad7acbcae9a.xlsx create mode 100644 AI/Text2Sql/static/xlsx/7feb6ea8-2f81-4c44-b480-166e27ca03c1.xlsx create mode 100644 AI/Text2Sql/static/xlsx/e4e43a2a-c1af-4fb5-a772-1cd9cb85c0bf.xlsx create mode 100644 AI/Text2Sql/static/xlsx/ea441e06-a8d0-41c7-a056-7449c8afd054.xlsx diff --git a/AI/Text2Sql/Model/__pycache__/biModel.cpython-310.pyc b/AI/Text2Sql/Model/__pycache__/biModel.cpython-310.pyc index 89f959b3a3e5ad69448e9cd857b8fa710a17a296..a9bc3867e11fe036b07e2a68680a1fdbff5b0332 100644 GIT binary patch delta 609 zcmZXQL2DC16vtuJZ-#7w}ThgGaAk6h!bO_zAr9?3>m?!3Xa*^MAv<_xK;od@RikEz3X*@ zz0M=_TZ)sRgJ?j;=9{^1H!g$*n}$3a8eN?gnfHo3u$U5}$GEGo8CC*qA8BTVN|!Lo zEm^g_1)m)yF>UA=%1&O?X56~SciZ*jtpF6euj*zfC*-JhoqP(PZXX@2~(F4 zXu`UZH z>?HI$t&A_z`>i#h|x8_eM@{b3m(4&f65uIz`^Sh^AZ(_s`z7iSGGnE`%(NT zcsdH>BpMFl9=ydS0Q^vNO~<-gQ28>r;$;`1TvlL3v6pkjz?!mFk5;S6hS$KasVeP- zNid2-9{krDHXaRFB@yR}i8{)g&Jij12O0W5{#EL{iLX%U( UoxGRNx|(adwxbty=ZvfW1wRFWiU0rr delta 495 zcmdlk|4mLipO=@50SLs`UQfTn$H4Fy#6bpZK#l_t7jsP1zGN+$%9SFP%9X~JBAp`B z!V<-s!j#I8#hAvFBAX%y@Cb9gW^ zT28LvJj3Wd*^|qZ@$=+*u1Sn5Ckt`A35J4f0$It_z``iPQe-+glY2I!$z)a@3-cIc zIRTa;OCUd)8A!kY3y{GI#D{^n$OuSiGWk_iO{ z2f4TgDL6$cWTq&%xCT4JC44-6Jwp^!3>Ey{+=5+!EF){MT#+)!Y~#reyt0$cxda81 zfn0=p*@~=y?v>#xGJ{&~I(ap(Hpp@vgym3!%s~cOfC!LxAp|>+bxR?AvObrjczkkx zXW* OB=`i_CD;WxB{%>k3t>_K diff --git a/AI/Text2Sql/Util/SaveToExcel.py b/AI/Text2Sql/Util/SaveToExcel.py index 35ae7d0b..bc55e645 100644 --- a/AI/Text2Sql/Util/SaveToExcel.py +++ b/AI/Text2Sql/Util/SaveToExcel.py @@ -2,24 +2,25 @@ import pandas as pd from openpyxl.styles import Font, PatternFill, Alignment, Border, Side from openpyxl.utils import get_column_letter - def save_to_excel(data, filename): """ 将数据集保存为格式化的Excel文件 参数: - data - 数据集 (列表字典格式,例如:[{"列1": "值1", "列2": "值2"}, ...]) + data - 数据集 (asyncpg.Record 列表) filename - 输出文件名 (需包含.xlsx扩展名) """ + # 将 asyncpg.Record 转换为字典列表 + data_dict = [dict(record) for record in data] + # 转换数据为DataFrame - df = pd.DataFrame(data) + df = pd.DataFrame(data_dict) # 创建Excel写入对象 with pd.ExcelWriter(filename, engine='openpyxl') as writer: df.to_excel(writer, index=False, sheet_name='Sheet1') # 获取工作表对象 - #workbook = writer.book worksheet = writer.sheets['Sheet1'] # 定义边框样式 @@ -59,7 +60,7 @@ def save_to_excel(data, filename): len(str(column)) # 列名的长度 ) # 计算列宽,确保在 10 到 120 之间 - column_width = min(max(max_length + 2, 10)*2, 120) # 加 2 是为了留出一些空白 + column_width = min(max(max_length + 2, 10) * 2, 120) # 加 2 是为了留出一些空白 # 设置列宽 column_letter = get_column_letter(idx + 1) worksheet.column_dimensions[column_letter].width = column_width diff --git a/AI/Text2Sql/Util/__pycache__/SaveToExcel.cpython-310.pyc b/AI/Text2Sql/Util/__pycache__/SaveToExcel.cpython-310.pyc index 631f5b699a327580618ba3412d11d32216692123..aa67ef127e0b359da0a774e26388eef945da2040 100644 GIT binary patch delta 817 zcmZ`%J8u&~5Z>K;+2^~n9ow;;7zrdOu5n05P?Quwh(`q}5D~#T-I&OhAMxEn2-=kk zQ_!3sx`Ni0C_ofc`4#*COD9?+_yItNn6mx`P_Np@aYh_M8ZEjZCOyoJ^@;Gb$BMx=c_|K#kbTQ>hB2s|Xb|(7}il zN`%@~L9Y|3agFPcfow$o_XRUjr7pCoF`i+e{gN~wC$w%x7+}>&H(MtyQyBP1lNq6l zOe;6KKHA_G*x*1uVlvBZD4-N!DN>{jYT;N({pM1BGHEWS)v>r^Cg_PG)d8G516#1&C5a&cAZQse0fHv zRbE3|o)KQ-%fg;e6eb;BN1OxIDuI;=gKC+;D#r7CMOaYUtft3Y5P9rpRTOaU#^}{O z0u7a@WP-;Eja{-%!jDIkl2q=arZM;2nyAq6xyusPyqxI4f;C8ANRWx= z+LaA+v)2i^KkOfFIVo34Tqe&hgx-^Oiw|4vr+&NF-0Tf~uNQ9N<~KUNt;}l;M1M_F zT)JoUJA+m*JaSoZF}|w)Y!tD!$Gs%;sMBi?ynZ{$rhY4JD88v(qHFO`gY~m+kR-6s zB=$e0H4KHf&^TFBDJTVMDsfZaUiuW=z@VE;^h0j|UKqIXSl_9n!M_L>gIe)iKS$Xw DE&<5W delta 667 zcmZ`%&1+LZ5Z~Rmc`tc+FW+gJ)Q=MJ5Gawvi+BmO3f?_bt0ja^l!i7jFKa7ymx`fK z(MQn-20SGf(Svv@cnF^S9||dWGUCUf7u%yauk_-<{V_Al?EGe!-8qUJ+IGvfO@ilW zYwzBd7xwOE44oj#97^XEB}9-um1IB_6Qsc;1q#e%JG)Agtf5H_G~f_$HAbD_D?nsWP#h0cn_U zDYD{9KkjzXLb~bGkBMQ(oDkRAj!59d$*!M%;SN(_Wr>tz(()+FELmNOV9FL*jM|XS z5SZ*TNTF&+^)8HRXDj8+lA9I<55rbIy1p{wE$Aaj1#f zD0p{yrQWQq*1g|>^R(dQbl~rZGwVIlE}gYIwY7Rxw5s)oOZ64q-F%uq~=QImTg l^h#pi@wcfE9_jaMO{jI8b1#j#v>$V3|5aDKo5pFX{RL~lv}*tW diff --git a/AI/Text2Sql/__pycache__/app.cpython-310.pyc b/AI/Text2Sql/__pycache__/app.cpython-310.pyc index 7ea2669cadea6a97b1f50a7a3a5949ec90910b97..fe66896784d9a254eeec0073df352c01457fdc3d 100644 GIT binary patch delta 825 zcmZ{h-%Aux6vywmGdnx3u8F_ew6)btU4&Fh>!Bc1H!aJ`et<7ad1h@b)Mj?0Vq~qg zFi5PfwVN1P2yQ-zF;E0TP=7&B(L!(K4|))a9s;%QEHM?)h3|)R&pG#;%Q>?RZyTMx zPN#$LQ#t#t>(*VT8-|`$8njw*;BKtPieVZM(W6v!dvT9agL}F5D>VTb8?bTE7KM%- z%9hD$Y`P~DM|^l7<=V+zW!U@}lr#h^H;bgK7Rx$lS%*@Vtdv9{V8bG%99y{#a~^!{#>TAW;y$g?HJD$LkcxqS#;y`F8ro5+(86j#1pRqmty#UOR zH~2)DHrjH&0bDYg@>&2su#x;P@ReQP7=v|I;FfkrID5INB9aD#X!(39bRff? zEo2H*q(CVbh-=cCI>AF%-BlOEiWUm?_GndIO2{A96xDCJ!euJzA}Hin#VrfNGwMaNqgu@pW+W7*+KC$Dg}gLbVEwo+ zeD*?6JNNtNNl)beL4Rj&xF_VbtF^q2df&tY6O$$$aU?VUo`V`UBc&F$nK{{318ZKT ze~dg&&i!}hQ|x2GFg#>x;hCIzGg;=9=zzwW^(bMfH- delta 568 zcmccUvd)<|pO=@50SG+TTu;}V$SccOwNZOB)8qwA!u*aYPA#m>j8Vp^@(T=7oG0@! zE7rTDxPrw@fMRMXZVMSxIa3%@)KfHinZPV}ILiah@&vOuQk9w+(^ymFQq@zufY=*| zeSlaYRU=C?jVr}B#Sd(T$u#-iP+tXbwM0V#ngK`Fs0A-yb&3|uLU!3-d* z8M=7~b2B@m%Vrzyo6L+8H;eJRu`n*(94q{lk+EcRu&5^^#*uAKZ`wvBrwNc}1hv3hccoEf9Xerk6ipdg8<847DlH3z##d@#LV-T KLu#_Lk{JO0wWE^& diff --git a/AI/Text2Sql/static/xlsx/5b9f90f1-3787-4590-a0a1-5ad7acbcae9a.xlsx b/AI/Text2Sql/static/xlsx/5b9f90f1-3787-4590-a0a1-5ad7acbcae9a.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f1827eb3fbd51c161ba463ef0b0ed6be8ea18976 GIT binary patch literal 6217 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 Jb5y_Y{s(kn+BX0I literal 0 HcmV?d00001 diff --git a/AI/Text2Sql/static/xlsx/e4e43a2a-c1af-4fb5-a772-1cd9cb85c0bf.xlsx b/AI/Text2Sql/static/xlsx/e4e43a2a-c1af-4fb5-a772-1cd9cb85c0bf.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a753d4f9261e5ab511b1e9537c4cc5c538d2a261 GIT binary patch literal 6475 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 b0QfIqrK*65qSXNaT+}Is%HOBtzu*1`tg(<~ literal 0 HcmV?d00001 diff --git a/AI/Text2Sql/static/xlsx/ea441e06-a8d0-41c7-a056-7449c8afd054.xlsx b/AI/Text2Sql/static/xlsx/ea441e06-a8d0-41c7-a056-7449c8afd054.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6a060be1801170e1fef4dcac3a2eb53a1bed220a GIT binary patch literal 6440 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