You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将制表符分隔的文本文件内容逐行导入Tkinter Treeview?

用Tkinter Treeview读取文本文件填充数据的解决方案

没问题,我给你整了一个完整的实现示例,直接就能跑起来,每一步都加了注释,你一看就懂:

首先,咱们先明确需求:文本文件每行是「文章标题\t文章编号」的格式,要把这些数据塞进只有两列的Treeview里。下面是具体代码:

import tkinter as tk
from tkinter import ttk

def fill_treeview(tree, file_path):
    # 清空Treeview里已有的数据(可选,防止重复加载)
    for item in tree.get_children():
        tree.delete(item)
    
    # 打开文本文件逐行读取
    with open(file_path, 'r', encoding='utf-8') as file:
        for line in file:
            # 去掉每行末尾的换行符,然后按制表符拆分
            line = line.strip()
            if not line:  # 跳过空行
                continue
            # 拆分标题和编号,这里假设每行都严格是「标题\t编号」格式
            title, article_id = line.split('\t', maxsplit=1)
            # 插入到Treeview中,第一个参数是父节点(这里用''表示根节点)
            tree.insert('', tk.END, values=(title, article_id))

# 创建主窗口
root = tk.Tk()
root.title("文章列表")

# 创建Treeview组件,设置两列,分别是标题和编号
tree = ttk.Treeview(root, columns=('标题', '编号'), show='headings')
# 配置列的标题和宽度
tree.heading('标题', text='文章标题')
tree.column('标题', width=300)
tree.heading('编号', text='文章编号')
tree.column('编号', width=100)

# 把Treeview放到窗口里
tree.pack(fill=tk.BOTH, expand=True, padx=10, pady=10)

# 调用填充函数,这里替换成你的文本文件路径
fill_treeview(tree, '你的文章数据.txt')

# 启动主循环
root.mainloop()

几个需要注意的细节:

  • 文件路径:记得把代码里的'你的文章数据.txt'替换成你实际的文件路径,要是和脚本同目录直接写文件名就行,不同目录要写绝对路径。
  • 格式兼容:用split('\t', maxsplit=1)是为了防止标题里不小心出现制表符(虽然你说每行是标题加制表符加编号,但保险起见),这样只会拆分一次,标题里的制表符会保留。
  • 空行处理:加了if not line跳过空行,避免插入空数据。
  • 编码问题:打开文件时指定了encoding='utf-8',如果你的文本文件是其他编码(比如gbk),记得改成对应的编码,不然可能乱码。

你直接复制这段代码,改一下文件路径就能用啦!

内容的提问来源于stack exchange,提问作者Joshua Ray Workman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:34:18