代码之家  ›  专栏  ›  技术社区  ›  ScalaBoy

如何从列表正确创建DataFrame:所有列都合并到一个列“0”中

  •  0
  • ScalaBoy  · 技术社区  · 6 年前

    print("body['csvData']", body['csvData'])
    
    print("===============================")
    
    csvData = pd.DataFrame([x.split(';') for x in str(body['csvData']).split('\n')])
    
    print("TYPE csvData", type(csvData))
    
    print(csvData.head())
    

    它接收来自的POST body请求的内容反应.js并试图转变 csvData 进入数据帧。

    我得到这个输出:

    body['csvData']
     NUM,AIRLINE_ARR_ICAO,WAKE,SIBT,SOBT,PLANNED_TURNAROUND,DISTANCE_FROM_ORIGIN,DISTANCE_TO_TARGET
    1,AEA,H,2016-01-01 04:05:00,2016-01-01 14:10:00,605,9920.67,5776.89
    2,AEA,H,2016-01-01 04:25:00,2016-01-01 06:30:00,125.0,10060.80,483.93
    3,AVA,H,2016-01-01 05:05:00,2016-01-01 07:05:00,120.0,8033.86,8033.86
    4,IBE,H,2016-01-01 05:20:00,2016-01-01 10:40:00,320.0,6000.00,8507.73
    5,IBE,H,2016-01-01 05:25:00,2016-01-01 10:50:00,325.0,6698.42,6698.42
    
    ===============================
    TYPE csvData <class 'pandas.core.frame.DataFrame'>
                                                    0
    0  NUM,AIRLINE_ARR_ICAO,WAKE,SIBT,SOBT,PLANNED_TU...
    1,AEA,H,2016-01-01 04:05:00,2016-01-01 14:10:0...
    2,AEA,H,2016-01-01 04:25:00,2016-01-01 06:30:0... 
    3,AVA,H,2016-01-01 05:05:00,2016-01-01 07:05:0... 
    4,IBE,H,2016-01-01 05:20:00,2016-01-01 10:40:0...
    

    看起来像 CSV数据 转换为DataFrame,但是所有列都合并到一个名为 0

    print(csvData.dtypes)
    

    输出:

    0    object
    dtype: object
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Fatih1923    5 年前

    pd.read_csv() 需要csv文件的位置。现在您应该添加下面给出的代码。

    csvData.columns = csvData.iloc[0]
    csvData.reindex(csvData.index.drop(0))