簡體   English   中英

如何讀取Python中csv個遞增名稱的文件並創建不同的對象?

[英]How to read csv files in Python with incremental names and create different objects?

我有很多文件名,如“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 呢? 我想要分配給 dataframe1、dataframe2 等的不同數據幀,如 df1、df2、df3。

假設它們都命名得很好,您可以遍歷一系列數字以獲取所有文件:

# 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 ...

您還可以提供目錄路徑並通過打開和處理字典中的所有文件來實現相同的目標:

import os

for path in os.listdir():
    with open(path) as file:
        # do something with the csv file ...

有關 python (v3.8.5) 標准csv package 的文檔,請參見此處。

根據您的問題,我假設您正在使用數據fread datatable )。 等價於 dataframe 明智的,在 python 中是 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)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM