如何将具有变量名称的CSV文件导入Python?

2021年9月19日16:06:21 发表评论 918 次浏览

在本指南中,我将向你展示如何将具有变量名称的CSV文件导入Python。我将使用一个简单的示例来说明这个概念,并提供完整的 Python 代码。

导入具有变量名称的CSV文件:目标

让我们回顾一个简单的例子,你将能够:

  • 创建一个带有输入框的简单图形用户界面 (GUI)。然后你可以在输入框中输入你的变量(例如特定日期)
  • GUI 还将包含一个按钮。单击该按钮后,CSV 文件将根据你键入的变量导入Python

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

这是应用 Python 代码后 GUI 的样子:

如何将具有变量名称的CSV文件导入Python?

示例 – 将具有变量名称的CSV文件导入Python

如何导入含有变量名称的CSV文件?假设你想将一个 CSV文件导入Python,其中文件名每天都在变化。

例如,CSV 文件名可能包含一个每天都不同的日期。

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

'C:\Users\Ron\Desktop\Import into Python\Sales_' + x1 + '.csv'

其中:

  • 蓝色突出显示的部分是路径名中永远不会改变的部分
  • 绿色部分代表变量(在我们的例子中,它是日期)
  • 紫色部分是 CSV 文件扩展名,它也不会改变
  • 请注意,+ 号用于连接路径名的不同组成部分。另请注意,变量(绿色)不应放在引号内(而蓝色和紫色的非变量部分应放在引号内)

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

Client NameCountryProductPurchase PriceDate
Jon SmithJapanComputer$80027-Apr-19
Bill MartinUSTablet$45027-Apr-19
Maria BlueCanadaPrinter$15027-Apr-19
Rita YuBrazilLaptop$1,20027-Apr-19
Jack MoUKMonitor$30027-Apr-19

要将具有变量名称的CSV文件导入Python,你可以使用下面的 Python 代码(如前所述,你需要更改路径名称以反映 CSV 文件在你的计算机上的存储位置)。

代码中包含其他注释:

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分配了列名(以黄色突出显示):

df = DataFrame(read_sales,columns=[‘Client Name’,’Country’,’Product’,’Purchase Price’,’Date’])

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

在 Python 中运行代码

如何导入含有变量名称的CSV文件?

(1) 首先,在Python中运行代码

(2) 然后,输入日期27042019

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

如何将具有变量名称的CSV文件导入Python?

这是你会得到的结果:

如何将具有变量名称的CSV文件导入Python?

假设在第二天,你获得了一个新的 CSV 文件,其中日期为 28042019。完整的 CSV 文件名将是:Sales_28042019

Client NameCountryProductPurchase PriceDate
Rick JonesSpainComputer$80028-Apr-19
Eva GreenUSTablet$45028-Apr-19

在这种情况下,在输入框中键入日期28042019

如何将具有变量名称的CSV文件导入Python?

然后,单击“输入日期导入文件 (ddmmyyyy) ”按钮,你应该会看到下一个日期结果:

如何将具有变量名称的CSV文件导入Python?

任务完成!

导入具有变量名称的CSV文件总结

如何导入含有变量名称的CSV文件?你刚刚看到了如何将具有变量名称的CSV文件导入Python。在本指南中,你使用了日期变量。但是,你可以将相同的概念应用于不同类型的变量。

此外,如果你尝试导入不同的文件类型(例如Excel 文件),类似的原则也适用。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: