我想导入这个.txt
文件,但是由于" No"之间的空间。和#34;记录",pandas将它们作为单独的列导入。我怎样才能有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**
答案 0 :(得分:4)
这看起来像是制表符分隔的文件。您可以使用sep='\t'
,它应该可以正常工作。
实际上,pd.read_table
的默认值已经是sep='\t
。
答案 1 :(得分:1)
在您的情况下,只需使用sep='\t'
即可解决。
但是如果存在多个分隔符(例如,
和\t
),则可以通过执行',|\t'
来设置正则表达式,python引擎会自动将其识别为正则表达式。所以,这句话将是:
df = pd.read_table('file.txt',sep=',|\t', header=None)