如何读取csv文件行并将行中的元素拆分为列表列表? [英] How to read csv file lines and split elements in line into list of lists?

查看:88
本文介绍了如何读取csv文件行并将行中的元素拆分为列表列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有csv文件.当我通过VisualStudio打开它时,我会遇到类似这样的事情:

I have csv file. When I open it by VisualStudio, i have something like this:

nr1  nr2  nr3  name  place
10  01  02  Jack  New York
10  01  03  David  London
10  02  01  Jasmine  New Jersey

每行中的元素之间有两个空格,而地点名称中有一个空格.

There are two spaces between elements in every line and one space in name of the place.

当我通过Excel打开csv文件时,其他所有列中都只有元素.

When I open csv file by Excel, there are just elements in every other column.

我不知道如何读取此csv文件,以使每一行成为这样的元素列表:

I don't know how can I read this csv file to make every line a list of elements like this:

my_list = [

['10','01','02','Jack','New York']
['10','01','03','David','London']
['10','02','01','Jasmine','New Jersey']]

原因是我想在此之后做一些循环:

Cause I want to make some loop after this:

for line in my_list:
     nr1 = line[0]
     nr2 = line[1]
     nr3 = line[2]
     name = line[3]
     place = line[4]

在这里,我将为每一行创建一个类的实例.

And here I will make an instance of the class for every line.

我该怎么做?

推荐答案

它们是制表符分隔的csv文件.这意味着每一列都由制表符('\ t')分隔.

They are tab delimited csv file. Meaning that each column is separated by tab ('\t').

以下代码应该可以工作.
已更新:使用 .rstrip()删除 \ n

The following code should work.
Updated: use .rstrip() to remove \n

import csv

f = open('data.csv')

data = []
for line in f:
    data_line = line.rstrip().split('\t')
    data.append(data_line)

print data

这篇关于如何读取csv文件行并将行中的元素拆分为列表列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆