Pandas 读取txt,在txt文件中,有时候解析的数据并非逗号或者分号分隔,对于此种情况,正则表达式就能派上用场。在tead_table()函数中,可以使用sep选项指定正则表达式。
正则表达式
为了更好理解正则表达式的用法,以及用它分割多个元素的方法,先从一个简单例子入手。
假如有一个txt文件,它里面的元素是以空格或制表符分隔的,且没有规律,在这种情况下,就可以用正则表达式兼顾两种分隔符。可以使用通配符\s*,\s匹配空格和制表符,’*’表示1个或者多个字符。更多正则表达式的知识可以参考网页https://geek-docs.com/regexp,常用元字符如下表所示:
通配符
描述
.
除换行符(\n、\r)之外的任何单个字符
\d
一个数字字符,等价于[0-9]
\D
一个非数字字符,等价于 [^0-9]
\s
任何空白字符,包括空格、制表符、换页符等等,等价于 [\f\n\r\t\v]
\S
任何非空白字符,等价于 [^ \f\n\r\t\v]
\n
换行符
\t
制表符
\uxxxx
用十六进制数字xxxx表示的Unicode字符
如果所有的元素随机以制表符或空格分隔,顺序随机,如工作目录中存放文件data1.txt信息如下: