使用glob后如何将数据帧合并到一个csv文件中?

高于海平面

我尝试使用glob处理多个csv文件,例如:

import glob 
import pandas as pd
import numpy as np
import csv

# Read all csv files with same file name in the folder
filenames = sorted(glob.glob('./16_2018-02*.csv'))

for f in filenames:
    df = pd.read_csv(f, names=['Date','RSSI','Data','Code'], 
    index_col=None)

    # Slicing information 
    df["ID"] = df["Data"].str.slice(0,2)
    df["X"] = df["Data"].str.slice(2,4)

    # Save the output data to csv with different name 
    df.to_csv(f'{f[:-4]}-train.csv', index=False)

在代码末尾,我曾经将每个数据帧保存到一个具有不同名称的新csv文件中。考虑到现在我有太多要处理的csv数据,我想将它们串联起来而无需先写入每个csv文件。我该怎么办?

原始数据集的前5行:

Date                            RSSI    Data                        Code        
2018-02-20T00:00:20.886+09:00   -99 1068ffd703d101ec77f425ea98b201  F2D5    
2018-02-20T00:00:21.904+09:00   -95 103cffbc032901ee77f49dea98b301  F2D5        
2018-02-20T00:00:22.415+09:00   -97 103cffbc032901ee77f49dea98b301  F2D5         
2018-02-20T00:00:46.580+09:00   -96 10fdfda803ff01f477f49dfd98cb03  F2D1        
2018-02-20T00:00:48.593+09:00   -96 101bfed3037401f577f49dfe98cd03  F2D6    

后:

Date                            RSSI    Data                        Code    ID  X   
2018-02-20T00:00:20.886+09:00   -99 1068ffd703d101ec77f425ea98b201  F2D5    16  0.065384    
2018-02-20T00:00:21.904+09:00   -95 103cffbc032901ee77f49dea98b301  F2D5    16  0.065340        
2018-02-20T00:00:22.415+09:00   -97 103cffbc032901ee77f49dea98b301  F2D5    16  0.065340         
2018-02-20T00:00:46.580+09:00   -96 10fdfda803ff01f477f49dfd98cb03  F2D1    16  0.065021    
2018-02-20T00:00:48.593+09:00   -96 101bfed3037401f577f49dfe98cd03  F2D6    16  0.065051    
ky

尝试以下代码[将所有文件追加到一个文件中]

filenames = sorted(glob.glob('./16_2018-02*.csv'))
appended_data=[] #create a list
for f in filenames:
    df = pd.read_csv(f, names=['Date','RSSI','Data','Code'], 
    index_col=None)

    # Slicing information 
    df["ID"] = df["Data"].str.slice(0,2)
    df["X"] = df["Data"].str.slice(2,4)
    appended_data.append(df) #append to the list
appended_data = pd.concat(appended_data, axis=1) #concat them together
#remove axis=1 if need to append vertically

现在,appended_data是一个数据帧,其中所有文件都附加到一起,可以将其导出到csv / excel。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将多个CSV文件中的列数据合并到一个CSV文件中

将全局环境中的多个数据帧合并到一个文件

如何将具有大矩阵的两个向量合并到数据帧中?

如何将多个.p12证书合并到一个.pfx文件中

如何将所有js文件合并到一个捆绑包webpack中

如何将所有代码分割的模块合并到一个文件中?

如何将多个数据帧合并为一个并将其输出到pandas中的csv文件中?

如何将数据帧的每一行合并到python中的列表中

如何将一个Numpy数组合并到多个数据帧

将多个文件读入并合并或合并到公共ID列的一个数据帧中

如何将一些CSV文件合并到一个DataFrame中?

使用setDT将一个数据帧中的许多列合并到另一数据帧中

如何将2组数据合并到一个UITableview中

Maven:如何将清单信息从依赖项合并到一个文件中

如何将MySQL数据合并到一个表中

将许多XML文件合并到R中的一个数据帧中

如何将一个文件合并到另一个\ Linux

在Office 365 Word中,如何将几个Word文件按顺序合并到一个文件中?

如何将一个模型的数据合并到另一个模型中?

如何将 2 个文件中的数字合并到一个新文件中?

如何将多个 .py 和 .ui 文件合并到一个文件中?

将多个 csv 文件中的几列合并到一个 csv 文件中

如何将“flutter build web”输出合并到一个 html 文件中

如何将 Pandas DataFrame 中的数据与多索引合并到一个列表中

Pandas 将两个系列合并到一个数据帧中

如何将各种csv文件中的数据合并到python中的一个csv文件中?

如何将比特币数据集和谷歌合并到一个数据帧中,如下所示?

将数千个 csv 文件合并到 R 中的单个数据帧中

如何将来自ggeffects R的数据帧列表合并到一个数据帧中?