繁体   English   中英

导入多个csv文件并使用pandas在Python中进行串联

[英]Importing several csv files and concatenating in Python using pandas

我有几个csv文件,我正在尝试使用熊猫加载串联文件。 有人问过类似的问题,但答案似乎对我没有用。 基本上,代码正在加载csv文件并进行连接,但是DF的结构很奇怪(列数意外增加)。 背景知识:我是Matlab的新转换用户,实际上我的代码在Matlab中工作,我只想在Python中运行它。 这是代码:

import pandas as pd
import glob

filelist = glob.glob('/.../*.csv')
DF = pd.DataFrame()
list_ = []
    for i in filelist:
        tmp = pd.read_csv(i, header=1, skiprows=0, index_col=None)
        list_.append(tmp)
        DF = pd.concat(list_)
DF.to_csv('/.../All.csv')

csv文件的结构如下:

TestDate,City,State,ZipCode,County,Num,A,B,C
9/1/16,X,AL,X,X,29,negative,positive,positive
9/1/16,X,AL,X,X,1,negative,negative,negative
9/1/16,X,AL,X,X,10,negative,negative,negative

输出看起来像这样:

,11/14/16,11/7/16,17,29,32,X,71901,9/1/16,99771,AK,AL,AR,X,X,X,X,Nome Census Area,X,negative,negative.1,negative.2,positive,positive.1
0,,,,1.0,,X,,9/1/16,,,AL,,X,X,,,,,negative,,,negative,negative
1,,,,10.0,,X,,9/1/16,,,AL,,X,X,,,,,negative,,,negative,negative
2,,,,11.0,,X,,9/1/16,,,AL,,X,X,,,,,negative,,,negative,negative

问题是header=1 ,它告诉熊猫第二行应被视为标题,而不是第一行。

from io import StringIO
import pandas as pd
data="""TestDate,City,State,ZipCode,County,Num,A,B,C
9/1/16,X,AL,X,X,29,negative,positive,positive
9/1/16,X,AL,X,X,1,negative,negative,negative
9/1/16,X,AL,X,X,10,negative,negative,negative"""
df=pd.read_csv(StringIO(data))
print(df)
  TestDate City State ZipCode County  Num         A         B         C
0   9/1/16    X    AL       X      X   29  negative  positive  positive
1   9/1/16    X    AL       X      X    1  negative  negative  negative
2   9/1/16    X    AL       X      X   10  negative  negative  negative
df=pd.read_csv(StringIO(data),header=1,skiprows=0)
print(df)
9/1/16  X  AL X.1 X.2  29  negative  positive positive.1
0  9/1/16  X  AL   X   X   1  negative  negative   negative
1  9/1/16  X  AL   X   X  10  negative  negative   negative

问题在于,在相应数据框的第一行中有许多不同的城市,因此越来越多的列插入到DataFrame中,这意味着每个文件中的数据列都太少,所有内容都变得非常混乱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM