xlsx to vcf

import pandas as pd
import tkinter as tk
import tkinter.font as tkFont
from tkinter.filedialog import askdirectory
import tkinter.messagebox
import tkinter.filedialog

winxlsx2vcf = tk.Tk()
winxlsx2vcf.title('批量生成联系人导入文件')

sw = winxlsx2vcf.winfo_screenwidth()
sh = winxlsx2vcf.winfo_screenheight()
ww = 600
wh = 180
x = (sw - ww) / 2
y = (sh - wh) / 2
winxlsx2vcf.geometry("%dx%d+%d+%d" % (ww, wh, x, y))
winxlsx2vcf.resizable(width=False, height=False)
fontStyle = tkFont.Font(family="Lucida Grande", size=15)
tk.Label(winxlsx2vcf, text="批量生成联系人导入文件", font=fontStyle).pack(pady=3)


def askd1():
    global pathFile
    pathFile = tkinter.filedialog.askopenfilename(title='打开表格', filetypes=[("xlsx", ".xlsx"), ("xls", ".xls")])
    path001.set(pathFile)
    print(pathFile)


def askd2():
    global pathDownload
    pathDownload = askdirectory() + "/"
    path2001.set(pathDownload)
    print(pathDownload)


frame01 = tk.Frame(winxlsx2vcf, padx=3, pady=3)
frame01.pack()
frame_left01 = tk.Frame(frame01)
frame_right01 = tk.Frame(frame01)
frame_left01.pack(side='left')
frame_right01.pack(side='right')
path001 = tk.StringVar()
path2001 = tk.StringVar()
e001 = tk.Entry(frame_left01, textvariable=path001, width=50).pack(padx=5, pady=10)
e002 = tk.Entry(frame_left01, textvariable=path2001, width=50).pack(padx=5, pady=10)

tk.Button(frame_right01, text='选择文件', relief=tk.GROOVE, font=fontStyle, width=18, height=1,
          command=lambda: askd1()).pack(padx=3, pady=3)
tk.Button(frame_right01, text='选择保存的文件夹', relief=tk.RIDGE, font=fontStyle, width=18, height=1,
          command=lambda: askd2()).pack(padx=3, pady=3)
tk.Button(winxlsx2vcf, text='开始转换', relief=tk.RIDGE, font=fontStyle, width=18, height=1,
          command=lambda: excel(pathFile, pathDownload)).pack(padx=3, pady=3)


def excel(pathFile, pathDownload):
    cc = pathFile.endswith(".xls")

    if cc:
        df = pd.read_excel(pathFile, usecols=[0, 1])
    else:
        df = pd.read_excel(pathFile, usecols=[0, 1], engine='openpyxl')

    df_list = df.values.tolist()
    vaf = ""
    for t1 in df_list:
        vaf = vaf + f"BEGIN:VCARD\nVERSION:3.0\nN:;{t1[0]};;;\nFN:{t1[0]}\nTEL;TYPE=CELL:{t1[1]}\nEND:VCARD\n"
    file = open(f'{pathDownload}/001.vcf', 'w')
    file.write(vaf)
    file.close()
    tkinter.messagebox.showinfo(title='提示', message="转换成功!")


winxlsx2vcf.mainloop()
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rogabet-note

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值