如何在Python中读取每一行CSV文件的第一列?如何只读取CSV文件每一行的第一列
我的数据是这样的:
1 abc
2 bcd
3 cde
,我只需要循环槽的第一列的值。
此外,当我打开calc中的csv文件时,每行中的数据都在同一个单元格中,这是正常的吗?
如何在Python中读取每一行CSV文件的第一列?如何只读取CSV文件每一行的第一列
我的数据是这样的:
1 abc
2 bcd
3 cde
,我只需要循环槽的第一列的值。
此外,当我打开calc中的csv文件时,每行中的数据都在同一个单元格中,这是正常的吗?
import csv
with open(file) as f:
reader = csv.reader(f, delimiter="\t")
for i in reader:
print i[0]
OR
变化,如果有必要的delimter空间。
reader = csv.reader(f, delimiter=" ")
没有CSV模块,
import csv
with open(file) as f:
for line in f:
print line.split()[0]
您可以使用itertools.izip
到箱发电机包含列和使用next
拿到第一column.Its更有效,如果你有一个大的数据,你想拒绝多次索引!
import csv
from itertools import izip
with open('ex.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ')
print next(izip(*spamreader))
得到公正的第一列的列表:
with open('myFile.csv') as f:
firstColumn = [line.split(',')[0] for line in f]
可能是一个好主意,只需在f中执行'line'而不是执行'f.readlines()'编辑。 – gabhijit
谢谢!我接受了一个明显改进的编辑版本。 – leekaiinthesky
你问题的第二部分:
中的LibreOffice Calc中打开的CSV文件(OpenOffice的应该工作一样,当方式)我得到一个对话框,我被问到关于该文档的一些东西,比如charakter编码以及分隔符的类型。如果你选择“空间”,它应该工作。你在这个对话框的底部有一个预览。
列是否由空格分隔? – 2015-05-29 07:45:36
鉴于[CSV处理]有一个标准模块(https://docs.python.org/3/library/csv.html#module-csv) - 确切的问题是什么? – guidot
以逗号分隔值的方式是什么? –