Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pandas导入多个csv文件并在Python中连接_Python_Csv_Pandas_Concatenation - Fatal编程技术网

使用pandas导入多个csv文件并在Python中连接

使用pandas导入多个csv文件并在Python中连接,python,csv,pandas,concatenation,Python,Csv,Pandas,Concatenation,我有几个csv文件,我正试图加载一个连接使用熊猫。有人问过类似的问题,但答案似乎对我不起作用。基本上,代码正在加载csv文件并连接,但DF的结构很奇怪(列数意外增加)。背景知识:我是一个新的Matlab转换程序,我的代码在Matlab中运行,我只想让它在Python中运行。代码如下: import pandas as pd import glob filelist = glob.glob('/.../*.csv') DF = pd.DataFrame() list_ = [] for

我有几个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
输出如下所示:

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
,它告诉pandas应该将第二行视为header,而不是第一行

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)

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

您能修复缩进吗?由于行的意外缩进,这会引发语法问题?谢谢Sebastian!这就解决了问题。我花了好几个小时在这件事上--太尴尬了。
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