如何在熊猫中同时读取多个csv文件

编码员

嗨,我试图让用户选择三个文件,然后在用户选择并按下打开文件后,将它们读入程序。我尝试了以下代码,但收到以下错误消息。我希望它打印出打开后的文件名,当我有一次一次打开一个文件的代码时,它可以工作,但是我希望它能同时处理多个文件,只是不确定是否可以。

> Exception in Tkinter callback Traceback (most recent call last):  
> File "C:\Users\John\anaconda3\lib\tkinter\__init__.py", line 1883, in
> __call__
>     return self.func(*args)   File "<ipython-input-7-0367338b5787>", line 24, in file_opener
>     read_file = pd.read_csv (filename, "r","w",error_bad_lines=False, engine="python")   File
> "C:\Users\John\anaconda3\lib\site-packages\pandas\io\parsers.py", line
> 676, in parser_f
>     return _read(filepath_or_buffer, kwds)   File "C:\Users\John\anaconda3\lib\site-packages\pandas\io\parsers.py", line
> 430, in _read
>     fp_or_buf, _, compression, should_close = get_filepath_or_buffer(   File "C:\Users\John\anaconda3\lib\site-packages\pandas\io\common.py",
> line 200, in get_filepath_or_buffer
>     raise ValueError(msg) ValueError: Invalid file path or buffer object type: <class 'tuple'>

我的代码如下。

import pandas as pd
import tkinter as tk
import csv
import json
import numpy as np
import re
import matplotlib.pyplot as plt
import fileinput
from tkinter import filedialog
from tkinter import messagebox
from tkinter import Menu



root = tk.Tk()
root.title("Data Tools 101")
root.geometry("650x700")


def file_opener():
    global read_file

    filename = filedialog.askopenfilenames(initialdir = "/", title = "Open files", multiple=True)
    read_file = pd.read_csv (filename, "r","w",error_bad_lines=False, engine="python")


    df = pd.read_csv('Inspections.csv')
    print(filename)

menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label='Open File',command = file_opener)
filemenu.add_separator()
menubar.add_cascade(label='File', menu=filemenu)

root.config(menu=menubar)
root.mainloop()
德莱尼

tkinter.filedialog.askopenfilenames的文档非常薄,但是考虑到它允许您选择多个文件,因此可以肯定的是,返回值是某种类型的集合。果然,如果您移至失败行print(filename) 上方,则表明tuple已返回文件名。因此,循环遍历这些名称以创建数据框。

import json
import numpy as np
import re
import matplotlib.pyplot as plt
import fileinput
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
from tkinter import Menu
import pandas as pd

root = tk.Tk()
root.title("Data Tools 101")
root.geometry("650x700")

def file_opener():
    global read_file

    filenames = filedialog.askopenfilenames(initialdir = "/", title = "Open files", multiple=True)
    dfs = []
    for filename in filenames:
        print("opening", filename)
        dfs.append(pd.read_csv (filename, error_bad_lines=False, engine="python"))
        print(dfs[-1])

menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label='Open File',command = file_opener)
filemenu.add_separator()
menubar.add_cascade(label='File', menu=filemenu)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PHP中读取多个CSV文件数据

来自分类Dev

如何在春季同时读取和处理多个文件?

来自分类Dev

熊猫:read_csv(在单个文件中读取多个表)

来自分类Dev

如何在熊猫中读取具有行名称的数据框的CSV文件

来自分类Dev

如何在R中读取多个文件

来自分类Dev

如何在Javascript中读取CSV文件

来自分类Dev

如何在csv文件的熊猫的barplot中显示多个条形图

来自分类Dev

如何在C#中同时读取和写入文件

来自分类Dev

如何在Spring Batch中同时读取2个文件

来自分类Dev

如何在熊猫中读取非结构化的CSV

来自分类Dev

如何在Java中读取具有不同格式的多个csv文件

来自分类Dev

如何在Phonegap中同时选择(选择)多个文件

来自分类Dev

如何在Android中同时下载多个文件

来自分类Dev

同时读取.csv文件

来自分类Dev

熊猫:如何在.csv文件的列中编辑值?

来自分类Dev

熊猫:如何在.csv文件的列中编辑值?

来自分类Dev

如何在Matlab中读取多个文本文件?

来自分类Dev

如何在单个文件中读取多个JSON对象?

来自分类Dev

如何在Matlab中读取多个文本文件?

来自分类Dev

如何在 Java 中读取多个 XML 文件?

来自分类Dev

如何在bash脚本中读取csv文件以数组

来自分类Dev

如何在bash中读取单列CSV文件?

来自分类Dev

如何在Android中读取和写入csv文件?

来自分类Dev

如何在python中读取csv文件的特定行?

来自分类Dev

如何在AngularJS中读取csv文件内容?

来自分类Dev

如何在Pyspark中读取多行CSV文件

来自分类Dev

如何在bash中读取单列CSV文件?

来自分类Dev

如何在 Python 中读取和写入 CSV 文件

来自分类Dev

如何在python中读取csv文件并绘制混淆矩阵

Related 相关文章

热门标签

归档