【发布时间】:2018-05-07 12:42:34
【问题描述】:
我在尝试将 csv 文件中的特定列读入 Python 列表时遇到了一些麻烦。以下是我的 csv 文件的示例:
Col 1 Col 2
1,000,000 1
500,000 2
250,000 3
基本上,我想将第 1 列作为整数值添加到列表中,这样做有很多麻烦。我试过了:
for row in csv.reader(csvfile):
list = [int(row.split(',')[0]) for row in csvfile]
但是,我收到一个 ValueError,上面写着“invalid literal for int() with base 10: '”1'
然后我尝试了:
for row in csv.reader(csvfile):
list = [(row.split(',')[0]) for row in csvfile]
这次我没有收到错误,但是我得到了列表:
['"1', '"500', '"250']
我也尝试过更改分隔符:
for row in csv.reader(csvfile):
list = [(row.split(' ')[0]) for row in csvfile]
这几乎给了我想要的列表,但是该列表包括第二列以及每个值后面的“\n”:
['"1,000,000", 1\n', etc...]
如果有人能帮我解决这个问题,将不胜感激!
干杯
【问题讨论】:
-
请发布您的 CSV 文件(或只是链接到它),以便我们产生相同的结果。
-
分隔符是逗号,会是这个问题吗?
-
如果您的数据中包含逗号,则不能使用逗号作为分隔符
-
刚刚注意到这是一个很好的问题,所以 +1!
-
如果只用
row[0]替换row.split(',')[0]会怎样?csv.reader已经将逗号分开