[英]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.