Python 将多个CSV文件导入具有相同名称的变量
一个目录中有多达1440个文件要用Python读取。文件名具有如下模式:Python 将多个CSV文件导入具有相同名称的变量,python,csv,import,Python,Csv,Import,一个目录中有多达1440个文件要用Python读取。文件名具有如下模式: HMM_1_1_.csv HMM_1_2_.csv HMM_1_3_.csv HMM_1_4_.csv ... 对于HMM_i_j_.csv,i从1变为144,j从1变为10 如何将它们导入一个名为HMM\u I\u j的变量中,该变量与其原始名称类似 例如,HMM_140_8_.csv应作为变量导入HMM_140_8而不是将它们放入具有此名称的变量中,您可以创建一个字典,其中键是名称减去“u.csv”,值是文件的内容
HMM_1_1_.csv
HMM_1_2_.csv
HMM_1_3_.csv
HMM_1_4_.csv
...
对于HMM_i_j_.csv
,i
从1变为144,j
从1变为10
如何将它们导入一个名为HMM\u I\u j
的变量中,该变量与其原始名称类似
例如,
HMM_140_8_.csv
应作为变量导入HMM_140_8
而不是将它们放入具有此名称的变量中,您可以创建一个字典,其中键是名称减去“u.csv”,值是文件的内容
以下是步骤,我让您了解如何准确执行每个步骤:
- 创建一个空字典
- 回路i从1到144,j从1到10
- 如果存在相应的文件,请读取该文件并将其内容放在字典中相应的键处
import pandas as pd
csv = {}
for i in range(1, 145):
for j in range(1, 11):
s = 'HMM_{}_{}'.format(i,j)
csv[s] = pd.read_csv(s+'.csv')
或:(较短)
或可读性较差的单行线:
d = {'HMM_{}_{}'.format(i//10+1,i%10+1):
pd.read_csv('HMM_{}_{}.csv'.format(i//10+1,i%10+1)) for i in range(1440)}
换句话说,您需要动态地声明一个变量名
?可能与您已经尝试过的内容重复?包括您的非工作代码。如果您甚至还没有编写任何代码,那么我建议您在CSV reader上查看Python文档。对于变量分配,您可以将这些CSV加载到具有根据索引进行操作,例如,dict[“144_1”]
可能的副本您不需要熊猫,有一个内置的csv模块。@LouisSugy谢谢。刚刚写下了我想到的第一件事。谢谢您,Anton和kaanyilmaz,写得很好。
d = {'HMM_{}_{}'.format(i//10+1,i%10+1):
pd.read_csv('HMM_{}_{}.csv'.format(i//10+1,i%10+1)) for i in range(1440)}