Python 读取CSV中的N行数
我目前有一个脚本,可以读取CSV文件,并将特定列转换为字典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.
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解决了我的问题,感谢您的帮助!