问题描述
我有很多文件名,例如“ XXXXX_1.csv”,“ XXXX_2.csv”,“ XXXX_3.csv” ....“ XXXX_n.csv” 我想阅读它们并创建df1,df2,df3……我应该如何做?在R中,我可以这样写
fname <- filename[i]
assign(paste0("dry_shell",i),fread(paste0("/mnt/Wendy/Data/",fname)))
}
但是Python呢?我想将df1,df2,df3等不同的数据帧分配给dataframe1,dataframe2等。
解决方法
假设它们都很好地命名,您可以遍历一系列数字以获取所有文件:
function checkData() {
let summoner = playerName.value;
let sendData = {};
sendData.summoner = summoner;
let fetchData = {
method: "POST",headers: {
"Content-Type": "application/json"
},body: JSON.stringify(sendData),}
fetch("/clientApi",fetchData)
.then(response => response.json())
.then(data => {
console.log("Success: ",data);
});
您还可以提供目录的路径,并通过打开和处理字典中的所有文件来达到相同的目的:
# this will open and do something to all files named csv_0,csv_1,and csv_2 in the
# directory /path/to/files
for i in range(3):
with open(f"/path/to/files/csv_{i}") as file:
# do something with the csv file ...
有关python(v3.8.5)标准csv软件包的文档,请参见此处。
,根据您的问题,我假设您正在使用datatable
(我注意到fread
函数)。在python中,等效于dataframe的是Pandas。您可以将pathlib与Pandas结合使用,以创建一个数据帧字典:
from pathlib import Path
directory = Path(directory that contains "XXXXX_1.csv","XXXX_2.csv","XXXX_3.csv"...."XXXX_n.csv")
{f"df{n}": pd.read_csv(file) for n,file in enumerate(directory.iterdir(),1)}