Skip to main content
 首页 » 编程设计

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

2025年05月04日24tuyile006

我有一个如下所示的文本文件:

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 

请您参考如下方法:

如果您可以使用命令行工具,则可以运行此 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