python - 如何从一个文件夹中一一打开多个 CSV 文件,一位管理员想要
问题描述
我在一个目录中有多个 .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")
推荐阅读
- mongodb - mongoose(mongodb)中的单个属性可以有多种不同类型的引用
- maximo - 将 200 多种资产加载到多资产 WO 中?
- python - Gunicorn 工作人员在向 Flask 应用程序发出请求后超时
- python-3.x - 班级中的学生收到的成绩为通过/失败
- r - 有没有办法在 R 中划分 group_by 汇总统计的答案?
- java - 与 whatsapp 共享音频文件(文件格式不支持错误)
- angular - 根据 API id 生成模板
- sql - Sybase中匹配字符串的行数
- javascript - 是否可以通过 Laravel Controller 将 JQuery datepicker 对象传递到数据库中?
- javascript - 尝试脚本化的谷歌表格