【问题标题】:Reading a csv file header which contains a utf-8 character [duplicate]读取包含 utf-8 字符的 csv 文件头 [重复]
【发布时间】:2021-04-04 21:49:47
【问题描述】:

有没有一种方法可以在不导入任何模块(如 csv 或 panda 模块)的情况下检查 csv 文件是否包含标题?当我尝试使用 readlines 时,我不断收到错误消息,因为标题包含 utf-8 字符(度数符号)。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    你知道 csv 文件的标题是它的第一行,用逗号分隔。

    通过打开文件并读取其第一行,您可以获得所需的信息:

    f = open('file.csv', 'r', encoding='utf-8') #open file
    headers = f.readline().split(',') #get headers list
    f.close() #close file
    

    【讨论】:

    • 是的,我确实知道这一点,但我的标题包含一个度数符号,所以我收到一个错误,因为它无法读取。 Traceback (most recent call last): File "main.py", line 3, in <module> headers = file.readline().split(',') File "/usr/lib/python3.8/codecs.py", line 322, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 40: invalid start byte
    • 您必须在打开文件时指定编码,我修改了我的答案。下次通过将错误明确地放在问题中来指定错误
    • 即使修改了我的代码,我仍然遇到与以前相同的错误
    • 你必须知道使用哪种编码来编码你的文件,因为如果它失败,它不是 utf-8,然后用你的特定编码更改 'utf-8'。
    猜你喜欢
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    相关资源
    最近更新 更多