我有一个包含以下各列的csv文件:
身份证,姓名,年龄,性别
接下来是以上各列的很多值。我试图单独读取列名称,并将其放在列表中。
我正在使用Dictreader,它给出了正确的细节:
with open('details.csv') as csvfile:
i=["name","age","sex"]
re=csv.DictReader(csvfile)
for row in re:
for x in i:
print row[x]
但是我想做的是,我需要使用输入csv自动解析列列表(在上述情况下为“ i”),而不是在列表中进行硬编码。
with open('details.csv') as csvfile:
rows=iter(csv.reader(csvfile)).next()
header=rows[1:]
re=csv.DictReader(csvfile)
for row in re:
print row
for x in header:
print row[x]
这给出了一个错误
Keyerrror:'name'
在行打印行[x]中。我要去哪里错了?是否可以使用Dictreader提取列名称?请帮助。谢谢并恭祝安康。
您可以使用该next()
函数读取标头,该函数将读者可迭代对象的下一行作为列表返回。然后您可以将文件的内容添加到列表中。
import csv
with open("C:/path/to/.filecsv", "rb") as f:
reader = csv.reader(f)
i = reader.next()
rest = list(reader)
现在,我将列的名称作为列表。
print i
>>>['id', 'name', 'age', 'sex']
还要注意,reader.next()
它在python 3中不起作用。而是next()
在读取后立即使用inbuilt来获取csv的第一行,如下所示:
import csv
with open("C:/path/to/.filecsv", "rb") as f:
reader = csv.reader(f)
i = next(reader)
print(i)
>>>['id', 'name', 'age', 'sex']
我有一个包含以下列的csv文件: 身份证、姓名、年龄、性别 后面是上述列的许多值。我试图单独阅读列名,并将其放入列表中。 我正在使用Dictreader,这提供了正确的详细信息: 但我想做的是,我需要用输入csv自动解析列列表,而不是在列表中硬编码。 这给出了一个错误 在行打印行[x]中。我哪里做错了?是否可以使用Dictreader获取列名?
我想从多列csv文件中读取特定列,并使用Java在其他csv文件中打印这些列。需要帮忙吗?下面是我逐行打印每个令牌的代码。。但我希望只打印多列csv中的几列。
我们如何读取压缩成多个文件的csv文件? 由于FAT存储格式的4 GB限制,我将csv文件合并为多个zip文件,如和。
我有一个包含5个字段(列)的csv文件。在5列中,我只想读第二列和第四列,这是进一步处理所需的。现在我正在使用opencsv api的readAll()方法进行读取。通过使用这种方法,我必须处理所有列,以获得第二列和第四列的值。 有没有办法读取所需列的值,即从csv文件中读取第二个和第四个值? 这是正确的方法还是我应该使用其他方法?
示例CSV: 我试图只捕获特定的列,例如、、和。 我看到的代码使我相信我可以通过相应的编号调用特定的列,因此:将对应于,使用迭代每一行将产生第2列中的所有项。只是它没有。
问题内容: 我目前正在尝试从Python 2.7中的.csv文件中读取数据,该文件最多包含100万行和200列(文件范围从100mb到1.6gb)。对于少于300,000行的文件,我可以(非常缓慢地)执行此操作,但是一旦超过该行,就会出现内存错误。我的代码如下所示: 在getstuff函数中使用else子句的原因是,所有符合条件的元素都将一起列在csv文件中,因此当我经过它们时,为了节省时间,我离