【问题标题】:Python: Read list of dataframe from csv filePython:从 csv 文件中读取数据框列表
【发布时间】:2021-02-06 07:08:08
【问题描述】:

我使用 .to_csv() 将数据帧列表导出到 csv 文件,当我尝试读回数据时,它会合并所有数据帧并仅返回一个数据帧。

我的数据:

[                  v1        v2
 time                        
 
 2019-08-04  7.308368  4.622069
 2019-08-05  6.318558  3.993616
 ...              ...       ...
 2020-07-31  3.397716  1.914453
 2020-08-01  2.232000  1.534888
 
 [364 rows x 2 columns],
                   v1        v2
 time                        
 
 2019-08-04  0.400307  0.322742
 2019-08-05  0.306128  0.229573
 ...              ...       ...
 2020-07-28  0.405865  0.335051
 2020-08-01  0.508580  0.394044
 
 [367 rows x 2 columns],
                   v1        v2
 time                        
 2019-08-01  4.892139  3.420369
 2019-08-05  4.375880  3.181351
 ...              ...       ...
 2019-12-05       NaN       NaN
 2019-12-09  1.078299  0.590751
 
 [131 rows x 2 columns],
..]

csv 文件:

time;v1;v2
2019-08-01;5.004642491294296;2.070262692905746
2019-08-02;6.005581617403156;3.5806659894959636
2019-08-03;5.720055440019435;4.076401038795619
...
time;v1;v2
2019-08-04;7.308368263370739;4.6220686806106
2019-08-05;6.318558302126913;3.9936164101171587
2019-08-06;5.602923231110271;3.455379392672936
...
time;v1;v2
2019-08-07;4.12752721072869;2.4488549880224264
2019-08-08;5.244169560874248;3.150645259745313
...

读取 csv 文件:

data= pd.read_csv('results.csv', delimiter = ";", index_col=0, header = 0)

数据:

                v1                    v2
time        
2019-08-01  5.004642491294296   2.070262692905746
2019-08-05  6.318558302126913   3.9936164101171587
...     ...     ...
2020-07-28  18.93710638512659   15.27918513484749
2020-08-01  45.634680485520484  33.58384984534077

**1858 rows × 2 columns**

如何在列表中单独返回数据帧。

【问题讨论】:

    标签: python list dataframe csv


    【解决方案1】:

    保存它为pickle,以保持列表数据类型:

    import pickle as pkl
    df_list = [] # all your dataframes in a list
    pkl.dump(df_list, open("your_pkl_file.pkl","wb"))
    

    再次加载

    df_list = pkl.load(open("your_pkl_file.pkl", "rb"))
    for i in df_list:
        #do operations with your dataframes here
    

    我认为这比将其保存为 csv 容易得多,除非您绝对需要将其存储为 csv。然后你必须独立保存每个 df,以便在不同的文件中拥有一个干净的工作环境。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2018-04-16
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多