python读取大文件csv_python-3.x - 如何在python中从大型CSV文件中读取所需的行 - SO中文参考 - www.soinside.com...

我正在尝试从CSV文件中搜索数据,然后将数据传递给另一个python代码。CSV文件具有100000+行,我希望根据自己的选择传递所请求的数据。

实际代码:input_file = 'trusted.csv'

users = []

with open(input_file, encoding='UTF-8') as f:

rows = csv.reader(f,delimiter=",",lineterminator="\n")

next(rows, None)

for row in rows:

user = {}

user['username'] = row[0]

user['id'] = int(row[1])

user['access_hash'] = int(row[2])

user['name'] = row[3]

users.append(user)

将数据解析为代码:g_index = input("Enter a Number: ")

target_group=groups[int(g_index)]

target_group.access_hash

[实际代码将解析CSV文件中的全部行,我正在尝试寻找一种可以传递数据的python代码的解决方案-例如从11到20行,同样从50到100行。] >

我尝试了以下代码,但在将数据解析为另一个python代码时收到错误:import CSV

input_file = 'lucky280.csv'

start = 10

stop = start + 10

users = []

with open(input_file, encoding='UTF-8') as f:

rows = csv.reader(f,delimiter=",",lineterminator="\n")

for i, line in enumerate(rows):

if i >= start:

users.append(line)

if i > stop:

break

for row in rows:

user = {}

user['username'] = row[0]

user['id'] = int(row[1])

user['access_hash'] = int(row[2])

user['name'] = row[3]

users.append(user)

错误:追溯(最近一次通话):文件“”,第10行,在打印(“添加{}”。format(user ['id']))TypeError:列表索引必须是整数或切片,而不是str

如果我使用实际代码,则文件读取可以正常工作,但是它将解析文件中的所有数据。

请帮助!

推荐后我也尝试过input_file = 'lucky280.csv'

users = []

from itertools import islice

with open(input_file, encoding='UTF-8') as f:

rows = csv.reader(f,delimiter=",",lineterminator="\n")

rowiter = islice(rows, 3, 5)

for item in rowiter:

for row in rows:

user = {}

user['username'] = row[0]

user['id'] = int(row[1])

user['access_hash'] = int(row[2])

user['name'] = row[3]

users.append(user)

得到以下错误IndexError Traceback (most recent call last)

in ()

10 user = {}

11 user['username'] = row[0]

---> 12 user['id'] = int(row[1])

13 user['access_hash'] = int(row[2])

14 user['name'] = row[3]

IndexError: list index out of range

我正在尝试从CSV文件中搜索数据,然后将数据传递给另一个python代码。 CSV文件有100000+行,我希望根据自己的选择传递所请求的数据。实际...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值