亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢索類似命名的 csv 文件并使用它們創建數據框

如何檢索類似命名的 csv 文件并使用它們創建數據框

Cats萌萌 2022-05-24 16:50:23
我有多個 csv 文件,它們的名稱按數字順序相似(nba_1、nba_2 等)。就列名和數據類型而言,它們的格式都相同。不是手動將每個單獨拉入數據框(nba_1 = pd.read_csv('/nba_1.csv')),而是有一種方法可以編寫for循環或類似的東西來拉入并命名它們?我認為基本框架是這樣的:for i in range(1, 6):     nba_i = pd.read_csv('../nba_i.csv')除此之外,我不知道細節。一旦我把它們拉進去,我將對它們中的每一個執行相同的操作(刪除和格式化相同的列),所以我也想在那里迭代它們。預先感謝您的幫助。
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

我認為您真正的問題是如何將所有文件放入數據框中

使用標準庫的一部分pathlib來處理您的文件。

Python 3 的 pathlib 模塊:馴服文件系統

由于您的csv文件是相同的,正如您在問題中所述,將它們全部組合到一個數據幀中然后一次清理所有數據會更有效。

單獨清理每個數據幀然后將它們組合起來效率較低

獲取單個組合數據框

from pathlib import Path

import pandas as pd


p = Path(r'c:\some_path_to_files')  # set your path

files = p.glob('nba*.csv')  # find your files


# It was stated, all the files are the same format, so create one dataframe

df = pd.concat([pd.read_csv(file) for file in files]) 

[pd.read_csv(file) for file in files]是一個列表推導,它為每個文件創建一個數據框。

pd.concat合并列表中的所有文件

要獲取單獨的數據框:

創建一個dict數據框

每個key都是dict一個文件名

p = Path(r'c:\some_path_to_files')  # set your path

files = p.glob('nba*.csv')  # find your files


df_dict = dict()

for file in files:

    df_dict[file.stem] = pd.read_csv(file)

使用df_dict:

df_dict.keys()  # to show you all the keys


df_dict[filename]  # to access a specific dataframe


# after cleaning the individual dataframes in df_dict, they can be combined

df_final = pd.concat([value for value in df_dict.values()])


查看完整回答
反對 回復 2022-05-24
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

基于 Pandas 構建的 Dask 庫具有一次將多個 csv 加載到單個數據幀的方法。



查看完整回答
反對 回復 2022-05-24
  • 2 回答
  • 0 關注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號