加载跟踪文件时如何修复“UnicodeDecodeError:'utf8'”

2024-09-28 23:43:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着实现一个基本的跟踪建模器,第一件事是加载跟踪(.xz文件),这些文件可以在http://hpca23.cse.tamu.edu/champsim-traces/speccpu/上找到

import csv

with open('400.perlbench-41B.champsimtrace.xz', encoding="utf-8") as csvfile:
    csvreader = csv.reader(csvfile, delimiter=",")

    for row in csvreader:
        print(": ".join(row))

我希望加载这些文件,但结果显示UnicodeDecodeError:“utf-8”编解码器无法解码位置0处的字节0xfd:无效的起始字节。我需要对这些痕迹做一些预处理吗


Tags: 文件csvcsvfilehttp字节建模utfrow
1条回答
网友
1楼 · 发布于 2024-09-28 23:43:01

.xz文件是LZMA提供的无损数据压缩文件,因此您需要像下面的代码一样首先解压缩该文件

import lzma

with lzma.open('400.perlbench-41B.champsimtrace.xz') as lzmaFile:
  .
  .
  .
  .
  .

之后你就可以自由处理了。试试print(lzmaFile.read())

相关问题 更多 >