我正在尝试用 pandas 读取 .dat 文件,但是它一直向我抛出 UnicodeDecodeError [已关闭]

问题描述 投票:0回答:1

我正在尝试读取代码中的 .dat 文件,目前我正在使用 python 来执行此操作。我很新,所以我不知道自己在做什么。但是,每当我运行它时,它都会向我抛出“UnicodeDecodeError:‘utf-8’编解码器无法解码位置 10 中的字节 0x80:无效的起始字节”。我尝试过其他打开文件的方法,但它生成 0 字节 .csv 文件。我不知道我应该做什么。我想这可能是我的文件本身有问题。

这是我用来尝试打开文件的代码,抛出 UnicodeDecodeError:

import pandas as pd
import csv

data = pd.read_csv(r'C:\Users\Apex Gamaing PCs\Gamma Lab Python\CS137 Spectrum.dat', delimiter='\t', dtype='float') 
back = pd.read_csv(r'C:\Users\Apex Gamaing PCs\Gamma Lab Python\background rad 3 7.dat', delimiter='\t', dtype='float')

这是我厌倦的其他代码,它产生了 0 字节文件:

import csv
with open('CS137 Spectrum.dat') as dat_file, open('CS137 Spectrum.csv', 'w') as csv_file:
    Spectrum1 = csv.writer(csv_file)

我需要它来打开并读取我的数据,以便我可以使用其余的代码来将曲线拟合到所述数据。

编辑:

我们花了 3 名教授、2 名研究生和我自己,但我们发现实验室计算机默认保存数据文件的文件格式已损坏且无法读取。取回我的数据,现在可以读取了。谢谢大家的帮助。

python pandas csv file
1个回答
0
投票

总结以下一些评论:

  • 尝试找到正确的编码器,可能是
    'utf-8'
    'latin1'
  • 使用记事本或任何编辑器打开文件以查看里面的内容

你也可以尝试跳过坏行(这当然取决于你是否可以跳过它们,你可以在编辑器中打开它后定义它):

data = pd.read_csv(path, encoding='utf-8', on_bad_lines='skip')
© www.soinside.com 2019 - 2024. All rights reserved.