擅长:python、mysql、java
<p>您可以使用<code>itertools.groupby</code>查找每个员工的不同信息块:</p>
<pre><code>import itertools, csv
data = [i.strip('\n').split(': ') for i in open('university_employees.txt')]
new_data = [[a, list(b)] for a, b in itertools.groupby(data, key=lambda x:x[0] == 'Employee Name')]
header = [c for b in new_data[:2] for c, _ in b[-1]]
a, b, *d = [[new_data[i][-1][-1][-1], *[' '.join(c) for _, *c in new_data[i+1][-1]]] for i in range(0, len(new_data), 2)]
with open('professors.csv', 'w') as f:
write = csv.writer(f)
write.writerows([header, a, b, d[0][:6]])
</code></pre>
<p>输出:</p>
<pre><code>Employee Name,Designation,Email,ContactNo,Qualification,Area of Interest / Specialisation
Dr.john doe,Professor,johndoe@google.com,"1234567, 9999999","M.Tech., Ph.D.",network security
Dr. john doe2 ,Professor2,johndoe2@google.com,222222222,"B.Tech., Ph.D.",network security2
Dr. john doe3 ,Associate Professor3,johndoe3@google.com,"333333,4444444",Ph.D.,network security3
</code></pre>