Python 如何通过循环读取巨大的CSV文件

Python 如何通过循环读取巨大的CSV文件,python,pandas,csv,Python,Pandas,Csv,我有一个基本的CSV。其来源如下: 这个基地大约有11GB。它有1900万行和41列 我只想获取有关城市的信息:新泽西州表格列城市。 我只能对500000行使用此查询。它起作用了 NYPD = pd.read_csv('c:/1/311_Service_Requests_from_2010_to_Present.csv', nrows=500000, low_memory=False) M = NYPD.loc[NYPD.City=='NEW JERSEY', :] M.to_csv('c:/1

我有一个基本的CSV。其来源如下: 这个基地大约有11GB。它有1900万行和41列

我只想获取有关城市的信息:新泽西州表格列城市。 我只能对500000行使用此查询。它起作用了

NYPD = pd.read_csv('c:/1/311_Service_Requests_from_2010_to_Present.csv', nrows=500000, low_memory=False)
M = NYPD.loc[NYPD.City=='NEW JERSEY', :]
M.to_csv('c:/1/NJ_NYPD.csv')
我需要CSV文件所有行的信息,而不仅仅是500000行的信息。 我想我需要使用一个循环,chunksize=500000,但我不知道如何使用

hunksize =500000  
    i = 0
    j = 1
    for df in pd.read_csv('c:/1/311_Service_Requests_from_2010_to_Present.csv', chunksize=chunksize, iterator=True, low_memory=False):
          df.loc[df.City=='NEW JERSEY', :]
          df.index += j
          i+=1
          df.to_csv('c:/1/NJ_NYPD.csv')

我不想将CSV转换为dbase方法。

为什么不在解析时使用所需的列:

my_filtered_csv = pd.read_csv(filename, usecols=['City'])

试试API调用怎么样:-

data.cityofnewyork.us/resource/fhrw-4uyv.json?city=NEW%20JERSEY 
这将仅为指定城市加载json,然后将此json转换为数据帧

import requests
import json
from pandas.io.json import json_normalize

data = requests.get('https://data.cityofnewyork.us/resource/fhrw-4uyv.json?city=NEW%20JERSEY')

json_normalize(json.loads(data.text))

附言:-他们也有一些关于python的文档:-

https://dev.socrata.com/foundry/data.cityofnewyork.us/fhrw-4uyv

p.p.S.:-我没有注册这项服务,所以就我所知,它只显示了50条记录。

使用
skiprows
arguments看起来很有希望-我今晚会练习,如果有效,我会给出答案。谢谢@Wojciechmoszczzkski您很好,随时通知我们:)