from tkinter import filedialog

import xlrd

import tkinter as tk

from tkinter import ttk

import windnd

# 选择文件

def openfile():

# sfname = filedialog.askopenfilename(title='选择Excel文件', filetypes=[('Excel', '*.xlsx'), ('All Files', '*')])

sfname=txt.get("0.0","end")

sfname=sfname.split('\n')[0]

print(sfname)

return sfname

"输入文件名,返回数据"

def readdata(sfname):

# 读取表格数据

book = xlrd.open_workbook(sfname)

sheet1 = book.sheets()[0]

nrows = sheet1.nrows

print('表格总行数', nrows)

ncols = sheet1.ncols

print('表格总列数', ncols)

values = []

for i in range(nrows):

row_values = sheet1.row_values(i)

values.append(row_values)

return values

def showdata(frame, data):

# 定义树状图表格函数

'''

frame:容器

data:数据,数据类型为列表

'''

nrows = len(data)

ncols = len(data[0])

columns = [""]

for i in range(ncols):

columns.append(str(i))

heading = columns

"""

定义Treeview

self.Frame2为父容器

columns为列名集合

show="headings"表示显示表头

"""

tree = ttk.Treeview(frame, columns=columns, show="headings")

# 定义各列列宽及对齐方式

for item in columns:

tree.column(item, width=50, anchor="center")

tree.heading(heading[0], text=heading[0])  # 第一列的表头为空

# 定义表头

for i in range(1, len(columns)):

tree.heading(heading[i], text=str(i))

# 设置表格内容

i = 0

for v in data:

v.insert(0, i + 1)  # 第一列的显示内容(序号)

tree.insert('', i, values=(v))

i += 1

# 放置控件,rel*表示使用相对定位,相对于父容器的定位

# tree.place(relx=0, rely=0, relwidth=1, relheight=1)

return tree

# 打开文件并以树状表格形式显示

def openshow():

global root

filename = openfile()

data = readdata(filename)

tree = showdata(root, data)

tree.place(relx=0.03, rely=0.2, relheight=0.7, relwidth=0.9)

# 对文件的操作

def func(files):

for i in files:

txt.insert("end", i.decode("gbk") + '\n')

def main():

global root,txt

root = tk.Tk()

root.title("打开文件")

root.geometry("600x400")

B1 = tk.Button(root, text="打开文件", command=openshow)

B1.place(relx=0.03, rely=0.05)

txt = tk.Text(root)

txt.pack(side='bottom')

windnd.hook_dropfiles(txt.winfo_id(), func)

root.mainloop()

if __name__ == '__main__':

main()

python拖拽获取文件路径_求助tkinter模块如何获取拖拽文件的内容相关推荐

  1. java 字符串 转 文件路径_连接用户输入字符串转换为完整的文件路径(Java)

    我写了一个简短的脚本来创建一个文件到我的桌面,文件出现了 . 我只是在main中完成了所有操作,如下所示: import java.io.*; import java.util.Scanner; pu ...

  2. mysql遍历 xml文件路径_解决Mapper接口和mapper.xml的文件位置问题

    今天遇到一个问题是mybatis中接口和对应的mapper文件位置不同,而引起的操作也会不同,在网上找了好久最终找到了方法,这里就简单的解析一下: 我们知道在典型的maven工程中,目录结构有:src ...

  3. nodejs 查看下载文件路径_如何查看知网下载的caj文件

    1.浏览器搜索知网官网https://www.cnki.net/ 2.向下翻页,找到"CNKI常用软件下载"中的"CAJViewer"浏览器,点击进入 3.根据 ...

  4. python获取绝对路径_python - OS(一)获取绝对路径

    目录结构 python常用模块(文件夹) python_os(文件夹) os_获取绝对路径.py ### 方法一 os_获取绝对路径.py #coding:utf8 import os #获取当前目录 ...

  5. python更改文件路径_更换路径python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! pypi 项目 github 地址 . (本版本 sdk 基于 json api ...

  6. php获取请求路径_如何获取php.ini文件路径?

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 我们可以使用PHP中的php_ini_loaded_file()函数来获取php.ini文件 ...

  7. java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...

    如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径 我有一个包含2个包的项目: ListStopWords.txt ListStopWords.txt 在包(2)中我有 ...

  8. cad快捷键文件路径_办公格式转太难不会看这里!CAD、PDF、Word、Excel、TXT教你玩转...

    办公格式转,你遇到最难解决的问题是哪些? 办公格式转,最让你头疼的文件格式是哪些? 办公格式转,你最想要学习转换格式有哪些? 我:Word.Excel.PPT.TXT.CAD.PDF.JPG统统都想要 ...

  9. 中有冒号 文件路径_用Matlab脚本文件实现Excel文件的合并

    日常吐槽 前段时间跟同事聊天,同事洗脑了一个新的(扎心的)世界观,"人生分三个阶段,20岁时承认父母很平庸,30岁时承认自己很平庸,40岁时承认孩子很平庸".这是这位同事在孩子学而 ...

最新文章

  1. Excel中将一个表格的数据关联到另一个表格
  2. Nature Cancer | 发现非肿瘤药物的抗癌潜力
  3. 移动平台的meta标签-----神奇的功效
  4. ping mac地址_局域网ip地址如何显示?一个软件搞定
  5. 扎心!互联网行业的神回复
  6. 英特尔核芯显卡控制面板没有了_「有趣」第41期:被英特尔取消发售的CPU长啥样?...
  7. [css] 手写一个满屏品字布局的方案
  8. Oracle 学习笔记二 Create table
  9. 计算机组成原理—虚拟存储器的分类
  10. 26.MySQL 锁
  11. 上班一个月,后悔当初着急入职的选择了
  12. cc直播怎么显示服务器,CC直播像素杯四大服务器严阵以待 MC精彩赛事即刻开启...
  13. 火狐浏览器不能看网页视频了的解决方法
  14. 消息栏通知(Notification)介绍
  15. matlab 三维画图总结
  16. 微信直连支付通道刷脸支付用户开通步骤
  17. 线上引流方法有哪些?怎么做线上引流推广?线上引流推广方法
  18. 【C语言 赋值抑制符 *】
  19. w ndows平板插sim卡,HUAWEI MateBookE怎么插入sim卡上网和接收短信?
  20. 现代无线侦察技术(二):MANA 和已知信标攻击

热门文章

  1. ubuntu NGINX uwsgi https 部署Django 遇到的问题
  2. javaweb基础 - Servlet
  3. WPF DataGrid 根据某一特定内容进行交叉变色
  4. 四、mysql数据常用命令
  5. 变通实现微服务的per request以提高IO效率(三)
  6. 【leetcode】length of last word (easy)
  7. 利用navicat for mysql实现mysql数据库表结构复制
  8. 记次浙大月赛 134 - ZOJ Monthly, June 2014
  9. Memcahce和Redis比较
  10. Myeclipse7.X和8.X汉化