【发布时间】:2020-05-26 12:33:32
【问题描述】:
我正在使用以下代码将 CSV 文件读入字典。
file_name = path+'/'+file.filename
with open(file_name, newline='') as csv_file:
csv_dict = [{k: v for k, v in row.items()}
for row in csv.DictReader(csv_file)]
for item in csv_dict:
call_api(item)
现在这是读取文件并为每一行调用函数。随着行数的增加,调用次数也会增加。此外,由于数据量很大,因此无法将所有内容加载到内存并从那里拆分和调用 API。所以我想采用一种方法,以便在 SQL 查询的情况下使用limit 和offset 读取文件。但是如何在 Python 中做到这一点?我没有在 csv 文档中看到任何指定行数和跳过行的选项。是否有人可以提出更好的方法也可以。
【问题讨论】:
-
您的缩进错误。你的文件是什么样的?只是一个文件吗?每行有多少“列”?里面有几行? DYZ“修复”了你的缩进——这对你来说是这样的吗?
-
你迭代整个解析的字典,为什么首先通过列表理解来解析所有行?只是逐行调用你的api也逐行调用?
-
你能举个例子吗?
-
我有一个文件。对于测试,它有五条记录和三列。我正在使用 csv.DictReader 将其读入字典。这有助于我获得附加到每个项目的列标题。然后我调用 API。
-
如果您的问题得到解决,请将答案标记为已接受,以便其他人可以看到您的问题已得到解答