【问题标题】:Combining CSV files into Dataframe python将CSV文件组合到Dataframe python中
【发布时间】:2022-01-24 16:13:46
【问题描述】:

我正在尝试将文件夹中多个文件的数据添加到数据框中。每个 .csv 文件的长度不同,但列数相同。我正在尝试将它们全部添加到一个数据框中而忽略索引,以便新的数据框只是垂直组合。出于某种原因,每次我尝试连接数据时,我只剩下大约 363 列,而应该只有 9 列。每个 csv 文件都有相同的列数,所以我很困惑。

import os 
import pandas as pd 
import glob 

cwd = os.getcwd()
folder = cwd +'\\downloads\\prepared_csv_files\\prepared_csv_files\\' 
all_files = glob.glob(folder + "/*.csv") 
    
li = []

for filename in all_files:
    df = pd.read_csv(filename, index_col=None, header=0)
    li.append(df)

frame = pd.concat(li, axis=0, ignore_index=True)

我也试过

final_df = pd.DataFrame(li, columns = ['tool','pressure'])
# and I name all columns not doing it now 

【问题讨论】:

    标签: python dataframe csv concatenation


    【解决方案1】:

    这里 final 是最终数据集的名称。

    我假设工具和压力是所有 .csv 文件中的列名

    final = pd.DataFrame(columns = ['tool','pressure'])
        for filename in all_files:
              df = pd.read_csv(filename)
              df = pd.DataFrame(df)
              final = pd.concat([final,df],ignore_index= True,join="inner")
    

    【讨论】:

    • 您的答案可以通过添加有关代码的作用以及它如何帮助 OP 的更多信息来改进。
    • 我使用了它,它解决了我原来的问题,但是现在它只会显示最后一个文件的值,甚至不会显示文件的完整值。 df 应该有大约 26k 的值,它只有 95。最后读取的 csv 有 394。
    • @Tyler2P 好的,我会记住的!
    • @code_killa 每个 csv 文件中的列名是 'tool','pressure' 对吗?此外,我的代码正在读取每个 .csv 文件并将它们连接到最终变量中。
    猜你喜欢
    • 2021-02-12
    • 1970-01-01
    • 2013-06-28
    • 2018-10-13
    • 1970-01-01
    • 2016-01-09
    • 2020-02-05
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多