我正在尝试从tsv文件中读取数据,但文件的格式是
nm0007219 Donald Cook tt0042819
nm0457839 John Kitzmiller tt0045018 tt0042692
nm0777743 Karl Schwetter tt0043483 tt0049422 tt0044322 tt0047989
我得到错误:
pandas.errors。ParserError:标记数据错误。C错误:预计第2行有3个字段,看到了5我当前的代码看起来像这样
TSV_file = pd.read_csv(filename, sep='t', header=None)
最终我的目标是找到数据集中边的数量
可以这样定义列标题:
import pandas as pd
df_tsv = pd.read_csv('input.tsv', sep='t', header=None, names=['nm', 'Name', *(f'tt{i:02}' for i in range(1, 6))])
print(df_tsv)
这将给你一个数据帧:
nm Name tt01 tt02 tt03 tt04 tt05
0 nm0007219 Donald Cook tt0042819 NaN NaN NaN NaN
1 nm0457839 John Kitzmiller tt0045018 tt0042692 NaN NaN NaN
2 nm0777743 Karl Schwetter tt0043483 tt0049422 tt0044322 tt0047989 NaN
您可以将范围设置为每行所需的tt....
条目的最大可能数量。或者将其设置为较大的数字,然后删除所有为空的列:
df_tsv = df_tsv.dropna(axis=1, how='all') # remove empty columns