回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试将文本文件转换为Python中的CSV
输入文本文件如下:</p>
<pre><code>Employee Name: Dr.john doe
Designation: Professor
Email: johndoe@google.com
ContactNo: 1234567, 9999999
Qualification: M.Tech., Ph.D.
Area of Interest / Specialisation: network security
Employee Name: Dr. john doe2
Designation: Professor2
Email: johndoe2@google.com
ContactNo: 222222222
Qualification: B.Tech., Ph.D.
Area of Interest / Specialisation: network security2
Employee Name: Dr. john doe3
Designation: Associate Professor3
Email: johndoe3@google.com
ContactNo: 333333,4444444
Qualification: Ph.D.
Area of Interest / Specialisation: network security3
Designation: Associate Professor4
Email: johndoe4@google.com
ContactNo: 44444444 ,Intercom No.44444
Qualification: : M.Sc.
Designation: Programmer
Email: johndoe5@google.com
ContactNo: 5555555555 ,Intercom No.5555
Qualification: Ph.D |Computer Science
Designation: Computer Operator
Email: johndoe6@google.com
ContactNo: 666666666
Qualification: D.C.Sc. & E.,
Designation: Computer Operator
Email: johndoe7@google.com
ContactNo: 777777777 ,Intercom No.77777<
Qualification: D.E & TC.,
Designation: Instructor4
Email: johndoe8@google.com
ContactNo: 8888888888 ,Intercom No.8888
Qualification: D.C.Sc. & E.,`
</code></pre>
<p>我需要以下格式的CSV文件</p>
<pre><code>Employee name,designation,email,contact,Qualification,Specialisation
Dr. john doe,Professor,johndoe@google.com,1234567,B.E.,network security
Dr. john doe2,Professor,johndoe2@google.com,222222222,M.S.,network security2
Dr. john doe3,Associate,Professor3,johndoe3@gmail.com,333333,M.Tech.,network security3
</code></pre>
<p>我试过了</p>
<pre class="lang-py prettyprint-override"><code>with open('test.txt', 'r') as records:
stripped = (line.strip() for line in records)
lines = (line.split(":") for line in stripped if line)
with open('log.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerows(lines)
</code></pre>
<p>我上面的代码给出了以下只有两行的输出(我不知道如何生成6列并在行中添加元组):</p>
<pre><code>Employee Name, Dr.john doe
Designation, Professor
Email, johndoe@google.com
ContactNo, 1234567, 9999999
Qualification, M.Tech., Ph.D.
Area of Interest / Specialisation, network security
Employee Name, Dr. john doe2
Designation, Professor2
Email, johndoe2@google.com
ContactNo, 222222222
Qualification, B.Tech., Ph.D.
Area of Interest / Specialisation, network security2
Employee Name, Dr. john doe3
Designation, Associate Professor3
Email, johndoe3@google.com
ContactNo, 333333,4444444
Qualification, Ph.D.
Area of Interest / Specialisation, network security3
</code></pre>
<p>简而言之:我可以将属性名和它的值分开,但是我不知道如何填充特定字段中的值。你知道吗</p>