从csv导入值会在python中提供空值
我希望使用Python27读取csv文件中的值 我正在使用以下代码:从csv导入值会在python中提供空值,python,python-2.7,csv,Python,Python 2.7,Csv,我希望使用Python27读取csv文件中的值 我正在使用以下代码: import csv with open('D:\\data.csv','rb') as file: contents = csv.reader(file) matrix = list() for row in contents: matrix.append(row) print matrix[1][5] 仅打印前2*2矩阵的值(即直到矩阵[1][1]) 当我为矩阵[1][5]
import csv
with open('D:\\data.csv','rb') as file:
contents = csv.reader(file)
matrix = list()
for row in contents:
matrix.append(row)
print matrix[1][5]
仅打印前2*2矩阵的值(即直到矩阵[1][1]
)
当我为矩阵[1][5]打印时,
给出一个空值
在csv文件中,我有两列,我有如下文本数据:
Rocky manager
Mark assistant
Peter tester
Ravi developer
Sonu marketing
Iyer analyst
首先,“分析师”一词将显示为矩阵[5][1]
其次,默认情况下,csv阅读器需要元素之间使用逗号,并且元素之间只需要一个分隔符。对于您的格式,您需要将分隔符设置为空格,并使用skipinitialspace
跳过其他空格字符:
contents = csv.reader(file, delimiter=' ', skipinitialspace=True)
对不起,我不太明白你的要求。您是否希望不存在的索引返回
None
,而不是让它引发索引器
?data.csv中有什么?那么你期望输出什么呢?Martijn,在输出中我看不到任何值。@Pierce:你只是把索引搞混了;第一个索引用于行,第二个索引用于列。您将得到一个索引器
异常,而不是“null”。我得到了以下错误:对于内容中的行:_csv.error:field大于field limit(131072),我甚至添加了csv.field\u size\u limit(sys.maxsize),然后我得到了以下错误:csv.field\u size\u limit(sys.maxsize)TypeError:limit必须是一个整数OP可能为我们将数据格式化为列,它们似乎声明矩阵[0][0]
和矩阵[0][1]
等。直到矩阵[1][1]
起作用,所以分隔符在这里不是问题。