您好我有这样的csv文件
here is some text
some more text
summary
id score
1 33
2 22
3 11
detail
id try score
1 1 22
1 2 11
2 1 10
2 2 12
3 1 11
我想解析数据id,尝试,将详细信息记录到DictReader之后 我怎么能这样做?
答案 0 :(得分:0)
你可以看看这个:
import csv
with open('file.txt', 'r') as f:
text = f.read()
relevant_lines = text.split('detail \n')[1].splitlines()
d_reader = csv.DictReader(relevant_lines, delimiter= ' ', skipinitialspace=True)
print(d_reader.fieldnames)
for row in d_reader:
print(row)
输出:
['id', 'try', 'score']
{'score': '22', 'try': '1', 'id': '1'}
{'score': '11', 'try': '2', 'id': '1'}
{'score': '10', 'try': '1', 'id': '2'}
{'score': '12', 'try': '2', 'id': '2'}
{'score': '11', 'try': '1', 'id': '3'}
我基本上过滤了包含'detail'(包含此行)的行之前的所有内容,然后将其解析为csv文件。
我使用skipinitialspace=True
来确保连续的空格只被解释为一个分隔符。