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

Tkinter中Treeview插入CSV数据格式异常求助

问题解决:Tkinter Treeview 导入CSV数据列显示异常

问题原因

你当前的代码里,df.iterrows()返回的row是Pandas Series对象,直接把它传给tree.insert的values参数时,Treeview会把整个Series当作单个值,导致所有数据都挤在第一列,这就是你看到的异常效果。

修正后的代码

把row转换成元组或列表,让Treeview能识别每一列对应的值:

def read_csv_file(csv='########'):
    # 读取CSV文件并创建DataFrame
    df = pd.read_csv(csv, index_col=False)

    # 遍历DataFrame的行
    for index, row in df.iterrows():
        # 将Series转成元组,让Treeview按列分配数据
        self.tree.insert("", "end", values=tuple(row))

额外检查点

  • 确认你的Treeview已经提前设置了和CSV列数一致的列,比如:
    # 假设CSV有3列,设置对应的列
    self.tree["columns"] = ("col1", "col2", "col3")
    # 设置列标题
    self.tree.heading("col1", text="列1")
    self.tree.heading("col2", text="列2")
    self.tree.heading("col3", text="列3")
    
  • 如果CSV的表头需要显示在Treeview顶部,记得先插入表头行(如果你的Treeview没有默认显示表头的话)。

内容的提问来源于stack exchange,提问作者Paul Corcoran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:30:43