一个管理员想要如何从一个文件夹中一个文件夹打开多个CSV文件

时间:2020-08-19 11:52:20

标签: python tkinter

我在一个目录中有多个.csv文件,我想根据用户/管理员的需求一个一个地打开它们。当他打开文件时,它以表格格式显示在Tkinter界面上。

def open_att():
    ..........
    filename = filedialog.askopenfilename(initialdir="C:/Users/Ahmad Jan Ahmadi/Desktop/FYP-11 Final/Attendance/",title="Select Attendance File",filetypes=(("Csv Files","*.csv"),("All Files","*.*")))
    attend= pd.read_csv(filename)
    for row in attend:
        Id = row['Id']
        name = row['Name']
        date = row['Date']
        time = row['Time']
        tree.insert("", 100000, values=(Id, name, date,time))

运行此程序时,出现以下错误:

Tkinter回调中的异常 追溯(最近一次通话): 在“ 调用”中的文件“ C:\ Users \ Ahmad Jan Ahmadi \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ tkinter_ init _。py”,行1699 > 返回self.func(* args) 在open_att中的文件“ C:\ Users \ Ahmad Jan Ahmadi \ Desktop \ FYP-11 Final \ main.py”,行438 ID =行['Id'] TypeError:字符串索引必须为整数

首先,我想问用户选择其中一个时要打开哪个.csv文件,然后如何显示该文件。

1 个答案:

答案 0 :(得分:1)

我在手机上采用了这种快速方法,几乎​​不需要优化

import os
import glob


os.chdir("/mydir")
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]

for name in all_filenames:
   pattern = input("enter your desired file name: ")
   if pattern == name:
       file = name.readlines()
       print(file) 
   else:
       print("file does not exist")
       
       
相关问题