我想把2个csv文件放到一个列表中,以便查看它们。
我的路径是正确的。我的文件在路径中。
我得到了上面的错误,好像我的编辑器不认识我的C:驱动器。无论我如何设置路径/放置csv文件,Python都无法识别C:。
对于想要处理这类细节的初学者有什么建议吗?
ls = []
path = r'C:fMRI'
print(os.listdir(path))
li_mapper = map(lambda filename: pd.read_csv(filename, index_col=None, header=0), path)
ls = list(li_mapper)
print(ls)
字符串可迭代。C
不是可读的CSV文件。换句话说,map(..., path)
将迭代[C, :, , ...]
如果你想创建一个数据帧列表,那么你需要这个
path = r'C:fMRI'
dfs = [ pd.read_csv(filename, index_col=None, header=0) for filename in os.listdir(path)) ]
但是您还应该过滤以.csv
结尾的实际文件的listdir
结果。
另外,pd.read_csv(filename
不是文件的绝对路径,只有名称。您需要在它前面加上path
变量。
如果你想让它在任何地方工作,你需要将文件名与路径连接起来。我也认为这对于列表理解来说有点长了。
import os
path = r'C:fMRI'
dfs = []
for filename in os.listdir(path):
if not filename.endswith('.csv'):
continue
fpath = os.path.join(path,filename)
dfs.append(pd.read_csv(path, index_col=None, header=0))