python - 将指定目录中的所有 .csv 文件导入单独的数组
问题描述
我正在尝试导入目录中的所有 .csv 文件。我想将它们存储在每个文件的数组中(例如命名为 file_name)。我尝试按照线程中建议的代码将目录中的所有 csv 文件导入为 pandas dfs 并将它们命名为 csv 文件名:
import pandas as pd
import glob
import os
path = "E:\\9sem\\INO\\Dane\\input\\"
all_files = glob.glob(os.path.join(path, "*.csv")) #make list of paths
for file in all_files:
# Getting the file name without extension
file_name = os.path.splitext(os.path.basename(file))[0]
# Reading the file content to create a DataFrame
dfn = pd.read_csv(file)
# Setting the file name (without extension) as the index name
dfn.index.name = file_name
我被困住了。我将数据导入单个 DataFrame 但我不知道如何将它转换为单独的 numpy 数组。
感谢您的任何建议。
最好的问候, 麦克斯
解决方案
您的代码总是会用下一个 csv 的数据覆盖数据帧,对吧?
所以要么你可以pandas.concat
用来制作一个大数据框,要么你可以将数据存储在字典中。如果要将其存储在字典中,可以像这样更改代码:
df_dict= dict()
for file in all_files:
# Getting the file name without extension
file_name = os.path.splitext(os.path.basename(file))[0]
# Reading the file content to create a DataFrame
df_dict[file_name]= pd.read_csv(file)
# Setting the file name (without extension) as the index name
df_dict[file_name].index.name = file_name
然后你可以通过df_dict[base_name]
. base_name
数据框的源文件的名称在哪里。
推荐阅读
- javascript - Stripe-react-elements 中的条纹国家范围请求
- mysql - GBQ 的标准 SQL 是否可以与 Microsoft SQL 和/或 MySQL 相媲美?
- sql - oracle 中的等效查询是什么?
- r - 使用 ggplot 在瀑布图中格式化图表标签值
- machine-learning - 为什么 tsne 方法使用欧几里得距离来计算高维数据中的相似性?
- mongodb - SpringDataMongoDB - 使用多个 MongoDB 连接器时找不到类型类的持久实体
- python - 有人对 ElasticMock python 模块有经验吗?
- c++ - 具有前向声明的不完整类型的 unique_ptr 将无法编译
- date - 减去两个日期和时间,看看后面的值是否超过 2 小时
- c# - 在 C# 中连接到多个 RabbitMQ 主机