私は.csv
を読んでおり、UTF-8
がコード化されています。 インデックスを作成してcsv
を書き換えたいとします。 インデックスは、進行中の数字とという単語の最初の文字として作成されます。 Pythonの2.7.10は、Ubuntu Serverのutf-8エンコーディング/デコードのトラブル
#!/usr/bin/env python
# -*- coding: utf-8 -*-
counter = 0
tempDict = {}
with open(modifiedFile, "wb") as newFile:
with open(originalFile, "r") as file:
for row in file:
myList = row.split(",")
toId = str(myList[0])
if toId not in tempDict:
tempDict[toId] = counter
myId = str(toId[0]) + str(counter)
myList.append(myId)
counter += 1
else:
myId = str(toId[0]) + str(tempDict[toId])
myList.append(myId)
# and then I write everything into the csv
for i, j in enumerate(myList):
if i < 6:
newFile.write(str(j).strip())
newFile.write(",")
else:
newFile.write(str(j).strip())
newFile.write("\n")
問題は次の通りです。 言葉は、そのような
- として、派手な文字で始まるC
- É
- 。Â
- ...
私が作成したIDが?
から始まりますが、ではありません言葉の手紙と一緒に。 奇妙な部分は、それはcsv
私が作成すると、派手な手紙の言葉が正しく書かれています。 ?
または間違ったエンコーディングを示すその他の記号はありません。
なぜですか?
使用しているPythonのバージョンは何ですか? –
Windowsの場合は、ロケールエンコーディングを使用している可能性があります。 –
@TimMartin 2.7.10、 'Ubuntu Server'に働いています – Stophface