【发布时间】:2018-08-23 14:57:33
【问题描述】:
我在以整数形式从 csv 文件中读取数据时遇到了一些问题,下面是我的 csv 文件的示例:
Col1 Col2 Col3
Header Header Header
Header 1 1,000,000
BLANK 2 500,000
BLANK 3 200,000
我想要做的是将“Col3”中的数据(不包括标题)作为整数读入一个元组,下面是我的代码:
import csv
prizePoints = []
with open("csvfile.csv") as prizes:
next(prizes)
for row in prizes:
prizePoints.append(row)
当我尝试这个时,我收到一条错误消息:
ValueError: invalid literal for int() with base 10: '"1'
打印行示例:
['', '1', '1,000,000']
我认为这是由于 'Col3' 中的值有逗号,但是我不确定如何解决这个问题,因此我们将不胜感激! (附注:我无法更改“Col3”的单元格格式,以便它们没有逗号)。
【问题讨论】:
-
你能不能请先做
for row in csv.reader(prizes):然后print(row)然后break(也就是说,你可以在csv.reader()和break处理后得到一个示例行的打印输出)并给出示例行?大概您希望1,000,000被读取为1000000整数? -
嘿,我已经编辑了原始帖子以显示打印行的示例:D
-
感谢您回复我的评论。然而,@abanert 强调了一些相当于一场完美风暴的问题——你躲避了一些子弹并击中了其他人。值得花时间一一解决这些问题。