在python中将csv中的行拆分为行

2024-10-01 13:46:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个逗号分隔的csv文件,我只想输出第一行的所有值,在输出的值前面加上一个“count”数字。我的输出应该如下所示:

0 row1col1
1 row1col2
2 row1col3
...
n row1coln

我看不出如何拆分reader对象,因为split对它不起作用。在

到目前为止,我已经:

^{pr2}$

这给了我

0 ['value1', 'value2', 'value3']

Tags: 文件csv对象count数字readersplit逗号
3条回答

你应该用下面的例子

import csv
i = 0
with open('Film.csv', 'rb') as csvfile:
    file_reader = csv.reader(csvfile)
    for row in file_reader:
        for col in row:
            print i, col.strip()
            i += 1

可以按如下方式迭代第一行中的值:

import csv
reader_object = csv.reader(open('Film.csv'))

for index, col_value in enumerate(reader_object.next()):
    print '{} {}'.format(index, col_value)

输出:

^{pr2}$

csv.reader()返回的Reader对象包装了您给它的迭代器(在本例中是一个文件句柄),并提供了一个返回连续行的next()方法;在返回它们之前,它通过从提供的Dialect中拆分分隔符将每一行转换成一个列表,如果没有给定逗号,则使用逗号作为默认值。在

通过第一行的列值列表,我们可以使用for循环迭代并使用 enumerate()在迭代时给我们一个递增的索引。在

尝试使用enumerate

reader_object = csv.reader(open('Film.csv'))

for i, line in enumerate(reader_object):
    print i,line

如果您有这样的csv:

^{pr2}$

如果要合并到列中,可以执行以下操作:

with open('Film.csv') as f:
    reader_object = csv.reader(f, delimiter=' ')
    i=0
    for line in reader_object:
        for x in line:
            print i, ''.join(x)
            i+=1   

印刷品:

0 c1
1 c2
2 c3
3 cc1
4 cc2
5 cc3
6 ccc1
7 ccc2
8 ccc3

相关问题 更多 >