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:\Users\Ron\Desktop\Import into Python\Sales_’ + 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:\Users\Ron\Desktop\Import into Python\Sales_' + 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,使用循环来遍历所有按一定规律命名的文件

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值