Python中文
首页
教程
问答
标签
搜索
登录
注册
在应用编码进行写入之前,检查数据是否不同
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个刮网器,刮取以下数据:</p> <pre><code>TESTDATA DATA:DATA Data £9500 Data £930 Data £500 Data £2250 Data £930 Data £500 Data £2250 DATATEST DATA:DATA Data £95001 Data £9302 Data £5003 Data £22504 Data £9305 Data £5006 Data £22507 </code></pre> <p>运行:<code>print full_end</code>返回:</p> <pre><code>[u'TESTDATA', 'DATA:DATA', 'Data £9500', 'Data £930', 'Data £500', 'Data £2250', 'Data £930', 'Data £500', 'Data £2250', '\r', DATATEST', 'DATA:DATA', 'Data £95001', 'Data £9302', 'Data £5003', 'Data £22504', 'Data £9305', 'Data £5006', 'Data £22507'] </code></pre> <p>运行:<code>print repr(full_end)</code>返回:</p> <pre><code>u"TESTDATA\nDATA:DATA\nData £9500\nData £930\nData £500\nData £2250\nData £930\nData £500\nData £2250\n\r\nDATATEST\nDATA:DATA\nData £95001\nData £9302\nData £5003\nData £22504\nData £9305\nData £5006\nData £22507" </code></pre> <p>运行:<code>print repr('\r\n'.join(full_end).strip())</code>返回:</p> <pre><code>u"TESTDATA\r\nDATA:DATA\r\nData £9500\r\nData £930\r\nData £500\r\nData £2250\r\nData £930\r\nData £500\r\nData £2250\r\n\r\r\nDATATEST\r\nDATA:DATA\r\nData £95001\r\nData £9302\r\nData £5003\r\nData £22504\r\nData £9305\r\nData £5006\r\nData £22507" </code></pre> <p>图片:<a href="https://i.imgur.com/Qe0TE5Y.png" rel="nofollow noreferrer">http://i.imgur.com/Qe0TE5Y.png</a></p> <p>使用以下脚本</p> <pre><code>with open('FULL_DATA.txt','r') as full_end_datafile: full_end_datafile_read = full_end_datafile.read() encoded_data = '\n'.join(full_end).encode("Latin-1") if full_end_datafile_read == encoded_data: encoded_data = "" else: with open('FULL_DATA.txt','w') as full_end_datafile: full_end_datafile.write('\n'.join(full_end).encode("Latin-1")) </code></pre> <h3>注意:在记事本中编辑文件时,每个数据集/组之间显示1行,在记事本++中,每个数据集/组之间显示2行</h3> <p><img src="https://i.stack.imgur.com/6w3gV.png" alt="http://i.imgur.com/FhV5wJx.png"/></p> <h3>如果我将写和读选项更改为<code>rb</code>和<code>wb</code>,我会得到以下结果:</h3> <p><img src="https://i.stack.imgur.com/ZrYrL.png" alt="http://i.imgur.com/hmXy6tf.png"/></p> <p>它无法识别数据是否相同,它会重新保存文件</p> <p>有人知道怎么修吗?你知道吗</p> <p>提前谢谢 -海弗莱克斯</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这是由于Python在处理文本文件时进行的行尾转换造成的。Windows EOL是两个字符(<code>CR</code>和<code>LF</code>),而Unix/Linux只使用<code>LF</code>。虽然Windows的Notepad只识别Windows的约定,但Notepad++同时识别两者。在第一个映像中,Python是当前的OS约定;在第二个映像中,您只是传递二进制数据(您将得到Unix/Linux约定)。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
python语法错误(如果不在Z中,则在X中表示s)
6 回答
Python语法错误(无效)概率
1 回答
python语法错误*带有可选参数的args
7 回答
python语法错误2.5版有什么办法解决吗?
2 回答
Python语法错误2.7.4
4 回答
python语法错误30/09/2013
1 回答
Python语法错误E001
4 回答
Python语法错误not()op
10 回答
python语法错误outpu
3 回答
Python语法错误print len()
1 回答
python语法错误w3
4 回答
Python语法错误不是caugh
10 回答
python语法错误及yt-packag的使用
2 回答
python语法错误可以查出来!!瓦里亚布
2 回答
Python语法错误可能是缩进?
7 回答
Python语法错误和缩进
3 回答
Python语法错误在while循环中生成随机numb
3 回答
Python语法错误在哪里?
4 回答
python语法错误在尝试导入包时,但仅在远程运行时
2 回答
Python语法错误在电子邮件地址提取脚本中
3 回答