解析Python pandas中不规则间隔的文本文件

use*_*179 1 python pandas

我有一个文本文件,看起来像:

Date     Fruit-type  Color         count
aug-6     apple  green         4
aug-7     pear  brown         5
aug-3     peach  yellow         10
aug-29     orange  orange         34
Run Code Online (Sandbox Code Playgroud)

我想解析它以将不规则的空格删除到格式良好的pandas数据帧中.我想删除空格并用另一个分隔符替换它们但是无法弄清楚逻辑.

期望的输出

Date,Fruit-type,Color,count
aug-6,apple,green,4
aug-7,pear,brown,5
aug-3,peach,yellow,10
aug-29,orange,orange,34
Run Code Online (Sandbox Code Playgroud)

ale*_*lay 5

如果可以使用命令行工具,则可以运行此awk命令将其从空格分隔为逗号分隔.

awk '{for (i=1; i<NF; i++){printf "%s,", $i} print $NF}' data.txt
Run Code Online (Sandbox Code Playgroud)

否则,pandas可以轻松导入空格分隔文件.

import pandas as pd

frame = pd.read_table('data.txt', sep='\s+')
Run Code Online (Sandbox Code Playgroud)

使用data.txt:

Date     Fruit-type  Color         count
aug-6     apple  green         4
aug-7     pear  brown         5
aug-3     peach  yellow         10
aug-29     orange  orange         34
Run Code Online (Sandbox Code Playgroud)

输出是

     Date Fruit-type   Color  count
0   aug-6      apple   green      4
1   aug-7       pear   brown      5
2   aug-3      peach  yellow     10
3  aug-29     orange  orange     34
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多内容:http://pandas.pydata.org/pandas-docs/stable/io.html#csv-text-files