Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 读取CSV中的N行数_Python_Pandas_Csv - Fatal编程技术网

Python 读取CSV中的N行数

Python 读取CSV中的N行数,python,pandas,csv,Python,Pandas,Csv,我目前有一个脚本,可以读取CSV文件,并将特定列转换为字典 import pandas as pd import csv, itertools from collections import defaultdict columns = defaultdict(list) with open('file.csv') as f: reader = csv.DictReader(f) for row in reader: for (k,v) in row.

我目前有一个脚本,可以读取CSV文件,并将特定列转换为字典

import pandas as pd
import csv, itertools
from collections import defaultdict

columns = defaultdict(list)

with open('file.csv') as f:
    reader = csv.DictReader(f) 
    for row in reader:
            for (k,v) in row.items():
                columns[k].append(v)

searches = (columns['Keyword'])
我想修改当前脚本,所以我可以将其限制在前5、10、15行,而不是阅读整个“关键字”列

我尝试了其他一些帖子建议,但似乎找不到合适的建议。例如,我尝试添加以下行,返回一个空的dict

for row in itertools.islice(csv.DictReader(f), 10):
任何帮助都将不胜感激

CSV输出示例:


当计数器达到极限时,使用计数器进行中断

limit = 5


with open('file.csv') as f:
    reader = csv.DictReader(f) 
    for idx, row in enumerate(reader, 1):
        for (k,v) in row.items():
            columns[k].append(v)
        if idx == limit:
            break

searches = (columns['Keyword'])

这就是你要找的吗?读卡器是一个
将其转换为列表,您可以对其进行切片:

for rows in list(reader)[:5]:

由于您已导入熊猫,因此可以使用read_csv

limit=10
rows=pd.read_csv(“file.csv”,nrows=limit),#使用nrows限制第一行数
搜索=列表(行['Keyword'])#将列作为列表

谢谢!运行此操作时,我收到一个“TypeError:“DictReader”对象不可订阅”错误。@JackNesbitt没错,DictReader返回一个生成器,我们不能对其使用索引切片。因此,我已将代码更改为使用计数器。谢谢,但这似乎只是将其中一行打印5次,而不是使用我用来测试它的示例CSV打印5行。请提供您正在使用的CSV文件(部分)。我添加了一些CSV输出的屏幕截图。使用文本总是更好。从图像复制粘贴代码有点困难;-)很抱歉,我会在下一篇文章中将这一点铭记在心:-)。m0h17解决了我的问题,感谢您的帮助!