簡體   English   中英

如何從一個文件夾中一個一個地打開多個 CSV 文件,一個管理員想要

[英]How to open multiple CSV files from a folder one by one, the one admin wants

我在一個目錄中有多個.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 回調 Traceback(最近一次調用最后一次)中的異常:文件“C:\Users\Ahmad Jan Ahmadi\AppData\Local\Programs\Python\Python36-32\lib\ tkinter_init _.py”,第 1699 行,調用返回self.func(*args) File "C:\Users\Ahmad Jan Ahmadi\Desktop\FYP-11 Final\main.py", line 438, in open_att Id = row['Id'] TypeError: string indices must be integers

首先,我想問用戶,當他選擇其中一個時,你想打開哪個.csv文件,然后如何顯示這個文件。

我在手機上做了這種快速的方法,幾乎不需要優化

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")
       
       

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM