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

时间:2016-09-22 00:29:39

标签: 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

我想解析它以将不规则空格移除到格式良好的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

2 个答案:

答案 0 :(得分:5)

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

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

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

import pandas as pd

frame = pd.read_table('data.txt', sep='\s+')

将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

输出

     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

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

答案 1 :(得分:0)

gawk '{gsub(/[[:blank:]]+/, ",")}1' file

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