将 csv 作为整数列表导入

Posted

技术标签:

【中文标题】将 csv 作为整数列表导入【英文标题】:Import csv as List of List of Integers 【发布时间】:2015-07-04 03:56:57 【问题描述】:

我有以下 CSV 文件

12,29,63,44
54,43,65,34

我正在尝试将它作为列表导入,这样每个索引都是一个整数。这是我目前所拥有的。

import csv
filename = 'file.csv'
with open(filename, 'rU') as p:
        #reads csv into a list of lists
        my_list = list(list(rec) for rec in csv.reader(p, delimiter=',')) 

print my_list
>>> [['12','29','63','44'],['54','43','65','34']]

如您所见,这会生成一个字符串列表,而不是整数列表。如何将 CSV 文件作为整数列表导入?像这样

 >>> [[12,29,63,44],[54,43,65,34]]

【问题讨论】:

使用理解或map。似乎您已经知道推导式和生成器表达式。 【参考方案1】:

map 转 int:

 my_list = [list(map(int,rec)) for rec in csv.reader(p, delimiter=',')]

 [[12, 29, 63, 44], [54, 43, 65, 34]]

相当于:

my_list = [[int(x) for x in rec] for rec in csv.reader(p, delimiter=',')]

【讨论】:

以上是关于将 csv 作为整数列表导入的主要内容,如果未能解决你的问题,请参考以下文章

在引号之间将csv列导入为整数

Mathematica 从 .csv 导入大整数?

将 csv 文件导入列表列表 [重复]

使用Powershell将csv导入SharePoint列表

R语言的数据导入和导出

Netezza 将 csv 作为空表导入