我有一个看起来像的文本文件:
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
答案 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