簡體   English   中英

將數據保存到 Pandas 中的多個 csv 文件

[英]Saving data to multiple csv files in pandas

我有一個來自 .gov 網站的數據:

import pandas as pd
import io
import requests
url="https://download.bls.gov/pub/time.series/la/la.data.64.County"
s=requests.get(url).content
c=pd.read_csv(io.StringIO(s.decode('utf-8')))

行數為 4942096。我想將所有這些放入多個 csv 文件中。

我知道如何獲得第一個百萬:

c.to_csv('nick.csv', index = False, chunksize = 1000000)

我如何獲得其余的?

您可以遍歷文件並將其保存為:

filename = io.StringIO(s.decode('utf-8'))
# ^ not tested this but assuming it would work for readability sake. 

chunk_size = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunk_size):
    chunk.to_csv('nick.csv.gz',compression='gzip',index=False)

您需要添加某種命名約定,否則您將覆蓋文件。 我還添加了 gzip 壓縮,這顯着加快了寫入時間。

我只是個人添加一個計數器

chunk_size = 10 ** 6
counter = 0
for chunk in pd.read_csv(filename, chunksize=chunk_size):
    counter = counter + 1
    chunk.to_csv(f'nick_{str(counter)}.csv.gz',compression='gzip',index=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM