Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-CSV阅读器-无法读取所有行_Python_Csv_Reader - Fatal编程技术网

Python-CSV阅读器-无法读取所有行

Python-CSV阅读器-无法读取所有行,python,csv,reader,Python,Csv,Reader,我有以下代码片段 import csv data = {} with open('data.csv', 'rb') as csvfile: spamreader = csv.reader(csvfile, quotechar=None) count = 0 for row in spamreader: data.update({row[0]:row[1]}) count+=1 print(count) print(le

我有以下代码片段

import csv

data = {}
with open('data.csv', 'rb') as csvfile:
    spamreader = csv.reader(csvfile, quotechar=None)
    count = 0
    for row in spamreader:
        data.update({row[0]:row[1]})
        count+=1
        

print(count)
print(len(data))
文件
data.csv
总共包含234611行和2列

输出为:

234611

52183

现在,读取器可以读取所有行,但无法将它们填充到
数据
字典中。知道如何调试这个问题吗? 另外,值得一提的是,csv文件包含大量非英语字符。

字典会丢弃(或者重写)重复键的值。您确定csv文件中没有重复条目吗

如果要收集给定键的所有值,请使用
defaultdict(list)

字典丢弃(或者更确切地说重写)重复键的值。您确定csv文件中没有重复条目吗

如果要收集给定键的所有值,请使用
defaultdict(list)


您可能正在向字典中添加重复的键(
行[0]
)。您可以通过使用
count
或将
count
附加到
行[0]
来确保键的唯一性。

您可能正在向字典中添加重复键(
行[0]
)。您可以通过使用
count
或将
count
附加到
行[0]
来确保键是唯一的。

哦,是的,存在一些重复条目。完全忘记了。非常感谢!:)哦,是的,有一些重复的条目。完全忘记了。非常感谢!:)
import csv
from collections import defaultdict

data = defaultdict(list)
with open('data.csv', 'rb') as csvfile:
    spamreader = csv.reader(csvfile, quotechar=None)
    count = 0
    for row in spamreader:
        data[row[0]].append(row[1])
        count+=1


print(count)
print(len(data))