我试图逐行解析文本文档,这样做我偶然发现了一些奇怪的行为,我认为这是由某种十字符号(☥)的存在引起的。我无法在这里复制真实符号。 在我的代码中,我尝试确定每行的前几个字符中是否存在“+”符号。为了查看这是否有效,我添加了一个包含布尔值和此字符串的print语句。
我的代码的相关部分:
with open(file_path) as input_file:
content = input_file.readlines()
for line in content:
plus = '+' in line[0:2]
print('Plus: {0}, line: {1}'.format(plus,line))
我可以尝试解析的文件:
+------------------------------
row 1 with some content
+------+------+-------+-------
☥+------+------+-------+------
| col 1 | col 2 | col 3 ...
+------+------+-------+-------
|_ valu | val | | dsf |..
|_ valu | valu | ...
我得到的是输出:
加:真的,行:+ ------------------------------
Plus:False,line:第1行包含一些内容
加:真的,行:+ ------ + ------ + ------- + -------
♀+ ------ + ------ + ------- + ------
加:假,行:| col 1 | col 2 |第3栏......
加:真的,行:+ ------ + ------ + ------- + -------
加:假,行:| _值| val | | dsf | ..
加:假,行:| _值|价值| ...
所以我的问题是为什么它只打印包含符号的行而没有'Plus:True / False'。我该怎么解决这个问题? 感谢。
答案 0 :(得分:1)
您所看到的是性别符号。它来自original IBM PC character set,编码为+-----------------------------------+
| Table: Temperature |
+---------------------+-------------+
| Date | Temperature |
+---------------------+-------------+
| 2017-03-03 15:10:00 | 25 |
| 2017-03-03 15:20:00 | 27 |
+---------------------+-------------+
,又称0x0c
,又称FormFeed
。
如果使用这些文本数据解析文本数据,可能会插入它们以指示打印机开始新页面。
来自wikipedia:
表单提要是一个破坏页面的ASCII控制字符。它强制打印机弹出当前页面并继续打印另一页面。通常,它也会导致回车。换页符字符代码定义为12(十六进制为0xC),可以表示为control + L或^ L.