繁体   English   中英

如何导入带有不同空格分隔符的文本文件?

[英]What can I import a text file with varying space separators?

我想导入此.txt文件,但是由于“否”和“记录”之间存在空格,因此熊猫将它们作为单独的列导入。 我怎么会有不同的sep 正则表达式?

data = pd.read_table('file.txt', sep=' ', header=None)

数据

01/01/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/02/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/03/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/04/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/05/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/06/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/07/1933  NO RECORD   NO RECORD   368.00  MISSING
01/08/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/09/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/10/1933  NO RECORD   NO RECORD   MISSING     MISSING
01/11/1933  NO RECORD   NO RECORD   MISSING     MISSING

当前进口

**  0   1   2   3   4   5
0   01/01/1933\tNO  RECORD  \tNO    RECORD  \tMISSING   \tMISSING
1   01/02/1933\tNO  RECORD  \tNO    RECORD  \tMISSING   \tMISSING
2   01/03/1933\tNO  RECORD  \tNO    RECORD  \tMISSING   \tMISSING
3   01/04/1933\tNO  RECORD  \tNO    RECORD  \tMISSING   \tMISSING
4   01/05/1933\tNO  RECORD  \tNO    RECORD  \tMISSING   \tMISSING**

看起来像制表符分隔的文件。 您可以使用sep='\\t' ,它应该可以正常工作。

实际上, pd.read_table的默认值已经是sep='\\t

在您的情况下,只需使用sep='\\t'解决。

但在情况下,当有倍数分隔符(例,\\t ),您可以通过设置正则表达式的表达',|\\t' ,蟒蛇发动机将会被自动识别为一个正则表达式表达。 因此,将是:

df = pd.read_table('file.txt',sep=',|\t', header=None)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM