从 .zip 文件中提取信息的问题
Problems with extracting information from a `.zip` file
我在从 .zip
文件中提取信息时遇到问题。我是这样做的:
from zipfile import ZipFile
with ZipFile('https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip', 'r') as zipObj:
zipObj.extractall()
但它给出了以下错误:
----------------------------------------------------
OSError Traceback (most recent call last)
Input In [58], in <cell line: 3>()
1 from zipfile import ZipFile
----> 3 with ZipFile('https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip', 'r') as zipObj:
4 zipObj.extractall()
File C:\ProgramData\Anaconda3\lib\zipfile.py:1248, in ZipFile.__init__(self, file, mode, compression, allowZip64, compresslevel, strict_timestamps)
1246 while True:
1247 try:
-> 1248 self.fp = io.open(file, filemode)
1249 except OSError:
1250 if filemode in modeDict:
OSError: [Errno 22] Invalid argument: 'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip'
Zipfile 无法直接从互联网上提取文件,您必须先下载它们。您可以使用 requests
包在同一脚本中执行此操作:
import requests
from zipfile import ZipFile
req = requests.get("https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip", allow_redirects=True)
with open("pr_municipios.zip", "wb") as file:
file.write(req.content)
with ZipFile('pr_municipios.zip', 'r') as zipObj:
zipObj.extractall()
Bruh,使用 geopandas.read_file()
它很聪明。 Documentation For Zips
import geopandas
url = "https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip"
df = geopandas.read_file(url)
print(df)
输出:
我在从 .zip
文件中提取信息时遇到问题。我是这样做的:
from zipfile import ZipFile
with ZipFile('https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip', 'r') as zipObj:
zipObj.extractall()
但它给出了以下错误:
----------------------------------------------------
OSError Traceback (most recent call last)
Input In [58], in <cell line: 3>()
1 from zipfile import ZipFile
----> 3 with ZipFile('https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip', 'r') as zipObj:
4 zipObj.extractall()
File C:\ProgramData\Anaconda3\lib\zipfile.py:1248, in ZipFile.__init__(self, file, mode, compression, allowZip64, compresslevel, strict_timestamps)
1246 while True:
1247 try:
-> 1248 self.fp = io.open(file, filemode)
1249 except OSError:
1250 if filemode in modeDict:
OSError: [Errno 22] Invalid argument: 'https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip'
Zipfile 无法直接从互联网上提取文件,您必须先下载它们。您可以使用 requests
包在同一脚本中执行此操作:
import requests
from zipfile import ZipFile
req = requests.get("https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip", allow_redirects=True)
with open("pr_municipios.zip", "wb") as file:
file.write(req.content)
with ZipFile('pr_municipios.zip', 'r') as zipObj:
zipObj.extractall()
Bruh,使用 geopandas.read_file()
它很聪明。 Documentation For Zips
import geopandas
url = "https://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_2015/UFs/PR/pr_municipios.zip"
df = geopandas.read_file(url)
print(df)
输出: