Python深度学习入门笔记(二):使用Pandas读取批量CSV文件,文件名中有顺序变量

Python深度学习入门笔记(二):使用Pandas读取批量CSV文件,文件名中有顺序变量,第1张

Python深度学习入门笔记(二):使用Pandas读取批量CSV文件,文件名中有顺序变量 前言

本文主要展示如何将具有变量名称的 CSV 文件导入 Python,比如一系列连续变化的文件如:

  • r1.csv
  • r2.csv
  • r3.csv

我将使用一个简单的例子来说明这个概念,并提供完整的 Python 代码。

典型应用场景

我们经常会遇到以下场景:

  • 创建一个带有输入框的简单图形用户界面 (GUI)。然后框中输入变量(例如特定日期)
  • GUI 还将包含一个按钮。单击该按钮后,就可以按照你输入的变量进行读取批量CSV文件

为了实现上述目标,我们需要导入 tkinter (用于创建 GUI)和 pandas 包(用于将 CSV 文件导入 Python)。

我们所说的GUI应该长这样:

实例以及代码

我们想将一个 CSV 文件导入 Python,其中文件名每天都在变化。 例如,CSV 文件名可能包含一个每天都不同的日期。

本例中,将 CSV 文件存储在以下路径下。请注意,你需要将此路径(在下面提供的 Python 代码中)更改为 CSV 文件在你自己的计算机上的存储位置。

‘C:UsersRonDesktopimport into PythonSales_’ + x1 + ‘.csv’

对上述路径的一些解释:

  • 红色字体的部分是路径名中永远不会改变的部分
  • 黄色高亮部分表示变量(在我们的例子中,它是日期)
  • 黑字是 CSV 文件扩展名,它也不会改变
  • 注意 + 符号用于连接路径名的不同组成部分。
  • 另请注意,变量不应放在引号内(而非变量部分应放在引号内)

假设您将以下数据存储在 CSV 文件中。并且 CSV 文件名包含日期 27042019(此日期是您的变量),因此完整的 CSV 文件名是:Sales_27042019


要将具有变量名称的 CSV 文件导入 Python,可以使用下面的 Python 代码(记得更改路径)。 代码中包含其他注释:

import pandas as pd
from pandas import Dataframe
import tkinter as tk 
 
root= tk.Tk()
  
canvas1 = tk.Canvas(root, width = 300, height = 300) # create the canvas
canvas1.pack()
  
entry1 = tk.Entry (root) # create the entry box
canvas1.create_window(150, 100, window=entry1)
  
def insert_number(): # add a function/command to be called by the button (i.e., button1 below)
    global x1 # add 'global' before the variable x1, so that you can use that variable outside of the command/function if ever needed 
    x1 = str(entry1.get()) # store the data input by the user as a variable x1 
 
    PATH = r'C:UsersRonDesktopimport into PythonSales_' + x1 + '.csv' #(use "r" before the path string to address special character, such as ''). Don't forget to put the file name at the end of the path + '.csv'
    read_sales = pd.read_csv (PATH)   #read the csv file using the 'PATH' varibale 
    df = Dataframe(read_sales,columns=['Client Name','Country','Product','Purchase Price','Date'])  # assign column names
    print (df)
 
button1 = tk.Button (root, text='Input date to import file (ddmmyyyy) ',command=insert_number, bg='green', fg='white') # button to call the 'insert_number' command above 
canvas1.create_window(150, 140, window=button1)
  
root.mainloop()

请注意,在 Python 代码中,我们使用 Dataframe 分配了列名(以黄色突出显示)

如果您的 CSV 文件包含不同的列名和/或不同的列数,您需要更改黄色部分以匹配您的数据集。

在Python中运行上述代码

(1) 点击运行

(2) 在框中输入 27042019

(3) 最后点击按钮 ‘Input date to import file (ddmmyyyy)‘

运行之后就可以看到结果了(前提是我已经有一个名为27042019.csv的文件存在我本机的确定位置)


重复使用这种方法就可以实现交互性的读取用变量命名的文件了,当然也可以舍去GUI,使用循环来遍历所有按一定规律命名的文件

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4830218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存