teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/10/17 07:14

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,3 +1,19 @@
1
1
  Python3.7を使っているのに、python2系のコードを参考にしているっぽいのはいかがなものでしょうか。
2
2
 
3
- 文字コードは、エラーから察するにBOM付きUTF-8ではないでしょうか。`encoding='utf_8_sig'`を試してみてください。
3
+ 文字コードは、エラーから察するにBOM付きUTF-8ではないでしょうか。`encoding='utf_8_sig'`を試してみてください。
4
+
5
+
6
+ ### 追記
7
+ ```
8
+ Traceback (most recent call last):
9
+ File "C:\Users\sera\PycharmProjects\PatentApp\patentApp\copyXMLfiles.py", line 37, in <module>
10
+ for row in ff: # 元ファイルから1行ずつ読みだして
11
+ File "C:\Program Files\Python37\lib\codecs.py", line 712, in __next__
12
+ return next(self.reader)
13
+ File "C:\Program Files\Python37\lib\codecs.py", line 643, in __next__
14
+ line = self.readline()
15
+ UnicodeDecodeError: 'euc_jp' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
16
+ [Finished in 0.221s]
17
+ ```
18
+
19
+ なので、ff(読み込み側ファイル)が想定している文字コードと違うことは確実です。ヒントは「byte 0xbf in position 2」で、3バイト目(0から数えるから)に0xbfがあるということですから、BOMつきUTF-8のBOM「0xEF 0xBB 0xBF」を拾っている可能性が濃厚……ということです。