【发布时间】:2018-04-07 14:11:30
【问题描述】:
在R 中有一个名为assign 的函数,它为环境中的名称分配一个值。
EG:
assign("Hello", 2)
> Hello
[1] 2
在 python 中我似乎不能这样做。我最初尝试过:
import numpy as np
import pandas as pd
import os
for file in os.listdir('C:\\Users\\Olivia\\Documents'):
if file.endswith(".csv"):
os.path.splitext(file)[0] = pd.read_csv('C:\\Users\\Olivia\\Documents\\' + file)
但我可以看到这是试图使一个字符串等于一个不起作用的文件。
我设法通过以下方式获取列表中的所有文件:
import glob
dl = glob.glob(r'C:\Users\Olivia\Documents\*.csv')
nl = []
for i in dl:
pl = i.split(os.sep)
name = pl[5][:-4]
nl.append(name)
ddict = {}
for k, v in zip(nl,dl):
ddict[k] = ddict.get(k,"") + v
dfl = []
for k, v in ddict.items():
dfl.append(read_csv(v))
但是现在我如何将每个数据框从列表中取出并命名为没有扩展名的文件。必须有一种方法可以将列表中的每个数据框分配为文件列表中的名称
【问题讨论】:
标签: python pandas loops assign