在熊猫中读取带有额外行的csv文件

时间:2021-07-01 11:20:39

标签: python pandas dataframe csv

我正在尝试使用 Pandas 来操作 .txt 文件,但我有如下图所示的 extraline: enter image description here

当我阅读文件时

import pandas as pd

df=pd.read_csv('movies.txt',sep='|')
print(df)

我得到了这个作为输出:

                                                          +--------+--------------------------+------------+---------------+
NaN                                                id       MovieNAme                  Year         Author                                                         NaN       

+--------+--------------------------+----------... NaN      NaN                        NaN          NaN                                                            NaN       

NaN                                                1234     once upon deadpool                 2017 Alicia                                                         NaN       

+--------+--------------------------+----------... NaN      NaN                        NaN          NaN                                                            NaN       

NaN                                                1244     avengers: endgame                  2014 John                                                           NaN       

+--------+--------------------------+----------... NaN      NaN                        NaN          NaN                                                            NaN       

NaN                                                1245     The bird King                      2017 Mark                                                           NaN       

+--------+--------------------------+----------... NaN      NaN                        NaN          NaN                                                            NaN   

我该如何解决这个问题并删除这一行“-------------+------”

2 个答案:

答案 0 :(得分:2)

试试:

df = pd.read_csv(
    "name_of_your_file.txt",
    sep=r"\s*\|\s*",
    comment="+",
    usecols=range(1, 5),
    engine="python",
)
print(df)

答案 1 :(得分:-1)

通常,在使用 csv 时,我们会创建空白空间,但 Pandas 将其视为一条线。添加 DataFrameName.dropna(axis=0, inplace=False) 以删除那些空单元格总是更好,或者您可以直接转到 csv 并手动执行此操作。