读取文件夹位置 Python 中带有 Pandas 的所有 csv 文件

Reading all the csv files with Pandas inside a folder Location Python

我如何才能制作一个 python 脚本来读取文件夹中的所有 csv 文件并为其动态分配变量名。数据集的变量名称将是 csv 文件的名称。例如,在指定的 folder_location FTX_BTCUSD.csv 处分配的 csv 文件将被命名为 FTX_BTCUSD 作为变量。 Pandas 将用于使用 pd.read_csv() 读取 csv 文件。我怎样才能修改下面的函数以获得预期的输出。

import pandas as pd 

folder_location = 'C:\Users\local\datasets'

def pandas_datasets():
    data= pd.read_csv(**dataset location**, low_memory=False)
    return data 

文件夹 csv 文件

FTX_BTCUSD.csv

的内容
unix,date,symbol,open,high,low,close,Volume,Volume USD
1644430740000.0,2022-02-09 18:19:00,BTC/USD,44079.0,44096.0,44076.0,44088.0,0.8561232648339684,37744.7625
1644430680000.0,2022-02-09 18:18:00,BTC/USD,44069.0,44079.0,44055.0,44079.0,3.9830549127702537,175569.0775
1644430620000.0,2022-02-09 18:17:00,BTC/USD,44074.0,44079.0,44055.0,44069.0,7.00427581973723,308671.4311
1644430560000.0,2022-02-09 18:16:00,BTC/USD,44077.0,44078.0,44056.0,44074.0,4.813299484957118,212141.3615
1644430500000.0,2022-02-09 18:15:00,BTC/USD,44033.0,44078.0,44033.0,44077.0,8.620666560791342,379973.12

Binance_BTCUSD.csv

的内容
Unix Timestamp,Date,Symbol,Open,High,Low,Close,Volume,Volume USDT,tradecount
1625531700000,2021-07-06 00:35:00,BTC/USDT,34039.99000000,34053.86000000,34023.50000000,34053.86000000,14.84518900,505301.96192877,271
1625531640000,2021-07-06 00:34:00,BTC/USDT,34025.88000000,34049.42000000,34020.11000000,34039.99000000,22.81862800,776568.09766191,404
1625531580000,2021-07-06 00:33:00,BTC/USDT,34050.32000000,34062.77000000,34017.25000000,34025.89000000,16.08606300,547582.96995436,418
1625531520000,2021-07-06 00:32:00,BTC/USDT,34014.66000000,34058.40000000,34001.64000000,34058.39000000,26.11695400,888581.95856325,593

虽然推荐,但您可以通过globals()创建变量。最好使用以键作为文件名的字典。

尝试:

import os
data = dict()
for file in os.listdir(folder_location):
    if file.endswith(".csv"):
        data[file.replace(".csv","")] = pd.read_csv(os.path.join(folder_location, file))

如果您绝对必须使用文件名创建动态变量,请改用以下内容:

import os
for file in os.listdir(folder_location):
    if file.endswith(".csv"):
        globals()[file.replace(".csv","")] = pd.read_csv(os.path.join(folder_location, file))