如何循环读取CSV文件

2024-03-28 14:46:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个基本的CSV。它在源代码中:311-Service 这个基地大约有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文件,而不是从只有50万行。 我想我需要使用一个循环和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方法。你知道吗


Tags: csvtofrom信息dfreadservicerequests
2条回答

试试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))

enter image description here

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

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

附言:-我没有注册这项服务,所以据我所知,它只显示了50条记录。你知道吗

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

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

相关问题 更多 >