如何修复python代码中的一个错误,它抱怨需要一个字符串?

2024-10-02 08:23:09 发布

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

我实际上是在用Udacity.com网站关于数据争论。代码文件很短,所以我能够复制他们所做的,我仍然得到一个错误。他们使用的是Python2.7.x,这门课程已经有一年的历史了,所以2.7分支中的函数或模块可能有些变化。我是说教官使用的代码是有效的。你知道吗

我知道使用csv模块或函数可以解决这个问题,但是他们想演示如何使用自定义解析函数。此外,它们还使用枚举函数。这是link to the gist。你知道吗

这应该是非常简单和基本的,这就是为什么它是令人沮丧的我。我知道他们正在读取文件,这是一个csv文件,作为二进制文件,带有“rb”参数

with open("file.csv", "rb") as f:

Tags: 模块文件csv数据函数代码com网站
1条回答
网友
1楼 · 发布于 2024-10-02 08:23:09

csv文件和测试函数中的字典中没有匹配的字符。特别是,在csv文件中使用的是em破折号(U+2014),在firstlinetenthline词典中使用的是连字符减去(U+002D)。你知道吗

hex(ord(d[0]['US Chart Position'].decode('utf-8')))
'0x2014'  # output: code point for the em dash character in csv file

hex(ord(firstline['US Chart Position']))
'0x2d'    # output: code point for hyphen-minus

要修复它,只需将gist中csv中的字符复制并粘贴到源代码中的词典中,以替换-字符。你知道吗

请确保在文件顶部包含此注释:

# -*- coding: utf-8 -*-

这将确保Python知道源代码中需要非ascii字符。你知道吗

或者,可以用连字符替换csv文件中的所有(em dash)字符:

sed 's/—/-/g' beatles-diskography.csv > beatles-diskography2.csv

然后,记住在源代码中使用新的文件名。你知道吗

相关问题 更多 >

    热门问题