63 lines
1.4 KiB
Python
63 lines
1.4 KiB
Python
import os,re
|
||
import win32clipboard as wc
|
||
import win32con
|
||
|
||
# 获取剪切板内容
|
||
def getCopy():
|
||
wc.OpenClipboard()
|
||
t = wc.GetClipboardData(win32con.CF_UNICODETEXT)
|
||
wc.CloseClipboard()
|
||
return t
|
||
|
||
# 写入剪切板内容
|
||
def setCopy(str):
|
||
wc.OpenClipboard()
|
||
wc.EmptyClipboard()
|
||
wc.SetClipboardData(win32con.CF_UNICODETEXT, str)
|
||
wc.CloseClipboard()
|
||
|
||
def dollared(string):
|
||
flag = True
|
||
for c in string:
|
||
if not c in "1234567890.+-:[]()":
|
||
flag = False
|
||
break
|
||
if flag:
|
||
string = "$" + string + "$"
|
||
return string
|
||
|
||
|
||
|
||
data = getCopy()
|
||
|
||
data1 = ""
|
||
for c in data:
|
||
if 65296 <= ord(c) < 65306:
|
||
data1 += str(ord(c)-65296)
|
||
else:
|
||
data1 += c
|
||
data = data1
|
||
data = data.replace(".",".").replace(":",":")
|
||
elements = [l for l in data.split("\n") if len(l)>0]
|
||
elements_per_line = int(elements.pop(0)) #这里需要修改
|
||
contents = "\\begin{center}\n\\begin{tabular}{|"
|
||
for i in range(elements_per_line):
|
||
contents += "c|"
|
||
contents += "}\n"
|
||
contents += r"\hline"+"\n"
|
||
col = 1
|
||
for element in elements:
|
||
if col != 1:
|
||
contents += " & "
|
||
contents += dollared(element.strip())
|
||
if col == elements_per_line:
|
||
contents += r" \\ \hline"+"\n"
|
||
col += 1
|
||
if col > elements_per_line:
|
||
col = 1
|
||
contents += "\\end{tabular}" + "\n" + "\\end{center}"
|
||
|
||
with open("临时文件/tablefile.txt","w",encoding = "utf8") as f:
|
||
f.write(contents)
|
||
|
||
setCopy(contents) |