我有一个 csv 文件,其中包含大量信息。我想从该 csv 文件中将数据提取到 pandas 数据框中,跳过不必要的行。我无法使用跳过行,因为数据帧行的开头不固定。
在我想要使用的实际数据开始之前,列数据也没有固定,因此在将数据直接加载到数据框中时出现错误。
ParserError: Error tokenizing data. C error: Expected 5 fields in line 340, saw 6
例如:-
%% Capacity report
A B C
0 0 Null Hello
1 0 1 2 3
2 ID FN LN Address State Price
3 123 ABC DEF 312 Main st. CA 1001
4 345 DEF HIJ 1008 Main st. CA 1002
我想加载从ID开始到文件末尾的数据。
df = pd.read_csv('abc.csv')
for row in range(df.shape[0]):
for col in range(df.shape[1]):
if df.iat[row,col] == 'ID':
row_start = row
break
一种解决方案是将文件作为字符串读取,并剪掉前导不需要的字符。然后,您可以使用 StringIO 引擎创建 pandas 数据框。
这个问题和答案可能对您有帮助: 从字符串创建 Pandas DataFrame