0
をPYTHON:マージUnicodeのCSVファイルは、私は、このようなコードスニペットを持っている2.7
import csv, sys, os
rootdir = sys.argv[1]
for root,subFolders, files in os.walk(rootdir):
outfileName = rootdir + "\\root-dir.csv" # hardcoded path
#for subdir in subFolders:
for file in files:
filePath = os.path.join(root, file)
with open(filePath) as csvin:
readfile = csv.reader(csvin, delimiter=',')
with open(outfileName, 'a') as csvout:
writefile = csv.writer(csvout, delimiter=',', lineterminator='\n')
for row in readfile:
row.extend([file])
writefile.writerow(row)
csvout.close()
csvin.close()
print("Ready!")
それはASCIIファイルで素晴らしい作品が、Unicodeのバージョンで動作することはできません。 自動実行ログファイルの例を次に示します。https://cloud.mail.ru/public/6Gqc/MKjKaqs8B。私はそのようなファイルのいくつかをマージする必要があります。 このアクションを実行するには、このコードをどのように変更できますか? Python 2.7のために必要です。
ありがとうございます!
私はそれを使用しようとしましたが、データを正しく読み取れませんでした。 'utf8'コーデックは、0番地のバイト0xffをデコードできません。ファイルの先頭から2バイトを削除すると、次のエラーが発生します:line NULLバイトを含んでいます – Oleg
@OlegあなたのデータファイルがUTF-16ではなく、UTF-8であるように聞こえます。 –
UTF-16を読む方法を検討することを提案してもよいですか? – Oleg