如何读取csv文件行并将行中的元素拆分为列表列表? [英] How to read csv file lines and split elements in line into list of lists?
问题描述
我有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屋!