擅长:python、mysql、java
<p>一种方法如下:在命令行上使用<code>sed</code>将数据分成5列</p>
<p><code>sed -e s/" "/", "/1 test.txt | sed -e s/" "/", "/2 | sed -e s/" "/", "/3 | sed -e s/" "/", "/4 | sed -e s/" "/"\""/5 | sed -e s/$/\"/ > test_5cols.csv</code></p>
<p>这将逗号放在前4个空格中。第5列中的其他数据都是“混合”的,顺序不同</p>
<pre><code>2019-02-04T17:41:06.957332-08:00, server1, sendmail[1945]:, x151f6Ng001945:, from=<xxxxxxxxx@domain1.com>,"size=20946, class=0, nrcpts=1, msgid=<ZZZZZZZZZZZ>, proto=SMTP, daemon=MTA, tls_verify=NONE, auth=NONE, relay=server1 [127.0.0.1]"
2019-02-04T17:41:06.990091-08:00, server1, sendmail[1955]:, x151f6Ng001945:, to=<xxxxxxxxx@domain2.com>,"delay=00:00:00, xdelay=00:00:00, mailer=esmtp, tls_verify=NONE, pri=140946, relay=server2. [IP_2], dsn=2.0.0, stat=Sent (Ok: queued as 43tnNL6jtyz6p3vf)"
</code></pre>
<p>然后可以使用csv将其拉入df,然后重命名列</p>