在Python中使用Pandas连接基于D的多个文件

2024-05-13 19:52:23 发布

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

我有csv文件,我需要根据日期连接在一起,但每个文件中的日期不一样(例如,有些文件从1991年1月1日开始,另一些文件在1998年开始)。我有一个基本的代码开始(见下文),但我不确定从这里到哪里去。如有任何提示,不胜感激。下面请找到一个不同的csv我试图加入的例子。在

import os, pandas as pd, glob
directory = r'C:\data\Monthly_Data'
files = os.listdir(directory)
print(files)
all_data =pd.DataFrame()
for f in glob.glob(directory):
    df=pd.read_csv(f)
    all_data=all_data.append(df,ignore_index=True)
all_data.describe()

文件1

^{pr2}$

文件2

DateTime    F1_mg-P_L   F2_mg-P_L   F3_mg-P_L   F4_mg-P_L   F5_mg-P_L   F6_mg-P_L   F7_mg-P_L
6/1/1992    0.05    0.05    0.06    0.04    0.03    0.18    0.08
7/1/1992    0.03    0.05    0.04    0.03    0.04    0.05    0.09
8/1/1992    0.02    0.03    0.02    0.02    0.02    0.02    0.02

文件3

DateTime    F1_TSS_mgL  F1_TVS_mgL  F2_TSS_mgL  F2_TVS_mgL  F3_TSS_mgL  F3_TVS_mgL  F4_TSS_mgL  F4_TVS_mgL  F5_TSS_mgL  F5_TVS_mgL  F6_TSS_mgL  F6_TVS_mgL  F7_TSS_mgL  F7_TVS_mgL
4/30/1991   10  7.285714286 8.5 6.083333333 3.7 3.1                             
5/31/1991   5.042553191 3.723404255 6.8 6.3 3.769230769 2.980769231                             
6/30/1991           5   5   1   1                               
7/31/1991                                                       
8/31/1991                                                       
9/30/1991   5.75    3.75    6.75    4.75    9.666666667 6.333333333 8.666666667 5   12  7.666666667 8   5.5 9   6.75
10/31/1991  14.33333333 9   14  10.66666667 16.25   11  12.75   9.25    10.25   7.25    29.33333333 18.33333333 13.66666667 9
11/30/1991  2.2 1.933333333 2   1.88    0   0   4.208333333 3.708333333 10.15151515 7.909090909 9.5 6.785714286 4.612903226 3.580645161

Tags: 文件csvdataalldirectoryglobf2f1
1条回答
网友
1楼 · 发布于 2024-05-13 19:52:23

你没有正确读取csv文件。在

1)您需要注释掉以下行,因为以后在代码中永远不会使用它。在

   files = os.listdir(directory)
   print(files)

2)glob.glob(directory)未返回任何匹配文件。环球网()以模式作为参数,例如:'C:\data\Monthly_Data\File*.csv',不幸的是,您将一个目录作为模式,但是没有找到任何文件

for f in glob.glob(directory):

我修改了以上两个部分,print all_data,文件内容显示在我的控制台上

相关问题 更多 >