【问题标题】:Python list from Dataframe to csv从 Dataframe 到 csv 的 Python 列表
【发布时间】:2021-07-04 04:34:37
【问题描述】:

我有以下清单:

db = [   DB_Field1 DB_Field2 DB_Field3
 4        1F1       1F2       1F3
 5        2F1       2F2       2F3
 6        3F1       3F2       3F3
 8        NaN       NaN       NaN
 11       NaN       NaN       NaN
 14       NaN       NaN       NaN,
    DB_Field4 DB_Field5
 4        1F4       1F5
 5        2F4       2F5
 6        3F4       3F5
 8        NaN       NaN
 11       NaN       NaN
 14       NaN       NaN,
    DB_Field6
 4        1F6
 5        2F6
 6        3F6
 8        NaN
 11       NaN
 14       NaN,
    DB_Field7 DB_Field7 DB_Field8 DB_Field9
 4        1F7       1F7       1F8       1F9
 5        2F7       2F7       2F8       2F9
 6        3F6       3F6       3F8       3F9
 8        NaN       NaN       NaN       NaN
 11       NaN       NaN       NaN       NaN
 14       NaN       NaN       NaN       NaN,
    DB_Field10 DB_Field11 DB_Field12 DB_Field13 DB_Field13 DB_Field13  \
 4        1F10       1F11       1F12          1          1          1   
 5        2F10       2F11       2F12          2          2          2   
 6        3F10       3F11       3F12          3          3          3   
 8         NaN        NaN        NaN        NaN        NaN        NaN   
 11        NaN        NaN        NaN        NaN        NaN        NaN   
 14        NaN        NaN        NaN        NaN        NaN        NaN   
 
    DB_Field13 DB_Field13  
 4           1          1  
 5           2          2  
 6           3          3  
 8         NaN        NaN  
 11        NaN        NaN  
 14        NaN        NaN  ]

我想将上述输出保存为 csv 文件并删除 NaN。我该怎么做?

到目前为止我尝试了什么?

import xlsxwriter

with xlsxwriter.Workbook('test.xlsx') as workbook:
    worksheet = workbook.add_worksheet()

    for row_num, data in enumerate(db):
        worksheet.write_row(row_num, 0, data)

这不会正确保存列表。我得到以下输出:

如何将整个列表保存为 csv 而不仅仅是列名?

【问题讨论】:

    标签: python pandas list csv nan


    【解决方案1】:
    import pandas as pd
    

    试试concat()方法:

    result=pd.concat(db,axis=1)
    

    如果您想将其保存到 csv 文件,请使用 to_csv() 方法:

    result.dropna().to_csv('test.csv')
    

    如果你想保存为 excel 然后使用to_excel() 方法:

    result.dropna().to_excel('test.xlsx',index=False)
    

    【讨论】:

      【解决方案2】:

      pandas 中有“to_csv”和“to_xlsx”函数。只需使用它们,它们就会自动删除 NAN。

      参考: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_excel.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-07
        • 2018-01-09
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        • 2019-08-25
        相关资源
        最近更新 更多