使用pandas将多个csv文件读入单独的数据帧

2024-09-30 01:35:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我喜欢将两个csv文件从一个特定的文件夹读入两个独立的数据帧。在

两个文件名是:23314621_MACI_导航.CSV和23314623趶MACI_持有.CSV在

文件的第二部分文件名是固定的MACI_导航.CSV还有MACI_持有.CSV,但是文件名的第一部分是数字,每天都在变化。在

我喜欢通过以下方式将它们读入两个不同的数据帧:

import pandas as pd
import glob

msci_folder = 'N:/Operation/Daily CDS E_Report/CDS/MACI/'
mscifile = glob.glob(msci_folder + "\*.csv")

for file in mscifile:
    df_nav=pd.read_csv(file)
    df_holding=pd.read_csv(file)

似乎两行都在读取同一个文件,我如何使它们读取不同的文件(第二个文件)?在


Tags: 文件csv数据importdf文件名folderglob
1条回答
网友
1楼 · 发布于 2024-09-30 01:35:56

如果要创建数据帧列表:

dfs = []
for file in mscifile:
    df = pd.read_csv(file)
    dfs.append(df)

或使用列表理解:

^{pr2}$

另一个解决方案是通过文件名中_后的最后一个子串创建dictionary of DataFrames,其中的键是:

from os.path import splitext, basename

dfs = {splitext(basename(fp))[0].split('_')[-1] : pd.read_csv(fp) for fp in mscifile}
print (dfs)

print (dfs['NAV'])
print (dfs['Holding'])

相关问题 更多 >

    热门问题