Mais

Usando% i% “. Csv” no ArcPy para nomear o arquivo CSV de saída?

Usando% i% “. Csv” no ArcPy para nomear o arquivo CSV de saída?


Estou usando o arcpy para descrever conjuntos de dados e produzir os resultados em um arquivo csv. Estou fazendo isso por meio de um script no arctoolbox e gostaria de salvar o arquivo na mesma pasta que o arquivo que está sendo analisado. Não quero substituir nenhum arquivo existente e, portanto, gostaria de simplesmente adicionar um número ao nome do arquivo.

No FieldCalculator, podemos usar% i% ou% n% para ter um sufixo variável - por exemplo, se meu arquivo txt de saída for chamado output.txt e um segundo output.txt for criado, ele será automaticamente alterado para output01.txt

Quero fazer o mesmo com o ModelBuilder, mas não consigo usar% i%.

import arcpy, os from arcpy import env import os.path env.overwriteOutput = True # Insira o caminho do FeatureClass na caixa de diálogo do modelbuilder fc = arcpy.GetParameterAsText (0) ischecked = arcpy.GetParameterAsText (1) #Get FeatureClass name fcname = os.path. basename (fc) #define Output Directory outputTxtFilePath = "PATH" #Define filename outputTxtFilename = "" + fcname +% i% + ". txt" # caminho completo do arquivo outputTxtFile = outputTxtFilePath + outputTxtFilename # Crie uma lista de campos usando o Campos da função ListFields = arcpy.ListFields (fc) #open arquivo csv csv = open (outputTxtFile, 'w') #write descreve os resultados para o arquivo txt csv.write (fc) para o campo nos campos: #create string txtStr = "Feldname: {0}  n Tipo: {1}  n Länge {2} ". Formato (field.name, field.type, field.length) + ' n' csv.write (txtStr) csv.close () #Open o arquivo txt se for verificado se str (ischecked) == 'true': os.system ('notepad' + outputTxtFile) else: exit

funcionará bem se eu remover% i%, mas cada arquivo será sobrescrito.


Você pode adicionar uma função Python que extrai qualquer valor numérico do nome do arquivo de texto de saída definido e adiciona ou atribui 1 a ele:

def getValue (x): try: return ".join (i for i em x if i.isdigit ()) exceto ValueError: pass fcname = os.path.basename (fc) fcnameNoEXT = fcname.split ('.') [ 0] i = 1 if os.path.exists (fc): value = getValue (fcname) if value: newValue = i + int (value) outputTxtFilename = "" + fcnameNoEXT.replace (str (value), str ( newValue)) + ".txt" else: outputTxtFilename = "" + fcnameNoEXT + "{} .txt" .format (i)

Se a classe de recurso de entrada ou conjunto de dados tem um sistema de coordenadas desconhecido ou não especificado, você pode especificar o sistema de coordenadas do conjunto de dados de entrada com o parâmetro Input Coordinate System. Isso permite que você especifique o sistema de coordenadas dos dados sem ter que modificar os dados de entrada (o que pode não ser possível se a entrada for um formato somente leitura). Além disso, você pode usar a ferramenta Definir projeção para atribuir permanentemente um sistema de coordenadas ao conjunto de dados.

Coberturas, coberturas VPF, conjuntos de dados raster e catálogos raster não são suportados como entrada para esta ferramenta. Use a ferramenta Project Raster para projetar conjuntos de dados raster.

Para projetar uma cobertura, use a ferramenta Projeto na caixa de ferramentas Cobertura.

    Por exemplo, uma transformação geográfica não é necessária ao projetar de GCS_North_American_1983 para NAD_1983_UTM_Zone_12N porque os sistemas de coordenadas de entrada e saída têm o datum NAD_1983. No entanto, a projeção de GCS_North_American_1983 para WGS_1984_UTM_Zone_12N requer uma transformação geográfica porque o sistema de coordenadas de entrada usa o datum NAD_1983, enquanto o sistema de coordenadas de saída usa o datum WGS_1984.

As transformações são bidirecionais. Por exemplo, se converter dados de WGS 1984 em NAD 1927, você pode escolher uma transformação chamada NAD_1927_to_WGS_1984_3, e a ferramenta irá aplicá-la corretamente.

O espaço de trabalho in_memory não é compatível como local para gravar o conjunto de dados de saída.

  • Um conjunto de dados de recursos contendo um conjunto de dados de rede: o conjunto de dados de rede deve ser reconstruído
  • Um conjunto de dados de recursos contendo uma topologia: a topologia deve ser validada novamente

Se a entrada participar de classes de relacionamento (como com a anotação vinculada a um recurso), a classe de relacionamento será transferida para a saída. A exceção são as tabelas autônomas participantes.

Dependendo das coordenadas do recurso de entrada e do horizonte (extensão válida) do sistema de coordenadas de saída, multipontos, linhas e polígonos podem ser recortados ou divididos em mais de uma parte ao projetá-los. Os recursos que estão completamente fora do horizonte serão gravados na saída com uma forma nula. Eles podem ser excluídos usando a ferramenta Reparar geometria.

As classes de feições que participam de uma rede geométrica não podem ser projetadas independentemente - todo o conjunto de dados de feições contendo a rede deve ser projetado.

Muitas ferramentas de geoprocessamento respeitam a configuração de ambiente do Sistema de Coordenadas de Saída e, em muitos fluxos de trabalho, você pode usar essa configuração de ambiente em vez da ferramenta Projeto. Por exemplo, a ferramenta União respeita a configuração do ambiente Sistema de Coordenadas de Saída, o que significa que você pode unir várias classes de feições juntas, todas em um sistema de coordenadas diferente, e gravar a saída unida para uma classe de feições em um sistema de coordenadas totalmente diferente.

Consultas de seleção e definição em camadas são ignoradas por esta ferramenta - todos os recursos no conjunto de dados referenciado pela camada serão projetados. Para projetar apenas recursos selecionados, considere usar a ferramenta Copiar Recursos para criar um conjunto de dados temporário, que conterá apenas os recursos selecionados, e use este conjunto de dados intermediário como entrada para a ferramenta Projeto.

Quando uma classe de recurso em um conjunto de dados de recurso é usada como entrada, a saída não pode ser gravada no mesmo conjunto de dados de recurso. Isso ocorre porque as classes de recursos em um conjunto de dados de recursos devem ter o mesmo sistema de coordenadas. Nesse caso, a classe de recurso de saída será gravada no geodatabase contendo o conjunto de dados de recurso.

Quando o parâmetro Preservar forma é verificado, os recursos de saída que representam com mais precisão sua verdadeira localização projetada são criados. Preservar forma é especialmente útil nos casos em que um limite de linha ou polígono é digitalizado como uma linha reta longa com poucos vértices. Se Preservar forma não estiver marcado, os vértices existentes da linha de entrada ou limite do polígono são projetados e o resultado pode ser um recurso que não está localizado com precisão na nova projeção. Quando Preservar forma é marcado (preserve_shape = "PRESERVE_SHAPE" em Python), vértices extras são adicionados ao recurso antes da projeção. Esses vértices extras preservam a forma projetada do recurso. O parâmetro Desvio Máximo de Compensação controla quantos vértices extras são adicionados, seu valor é a distância máxima em que o recurso projetado pode ser compensado de sua localização projetada exata, conforme calculado pela ferramenta. Quando o valor é pequeno, mais vértices são adicionados. Escolha um valor que atenda às suas necessidades. Por exemplo, se a saída projetada for para exibição cartográfica geral em pequena escala, um grande desvio pode ser aceitável. Se a saída projetada for usada em análises de grande escala e pequenas áreas, um desvio menor pode ser necessário.

Para realizar uma transformação vertical, verifique o parâmetro opcional Vertical na caixa de diálogo. Por padrão, o parâmetro Vertical está desabilitado e só é habilitado quando os sistemas de coordenadas de entrada e saída têm um sistema de coordenadas vertical (VCS) e as coordenadas da classe de recurso de entrada têm valores z. Além disso, a configuração de dados adicionais (dados do sistema de coordenadas) deve ser instalada no sistema.

Ao selecionar o sistema de coordenadas de saída, você pode escolher o sistema de coordenadas geográficas ou projetadas e um VCS. Se o VCS de entrada e saída forem diferentes, uma vertical apropriada e uma transformação geográfica opcional (datum) estão disponíveis. Se uma transformação deve ser aplicada na direção oposta à sua definição, escolha a entrada com o til (


Parâmetros

Os arquivos LAS ou ZLAS que serão importados para uma classe de recurso multiponto. Se uma pasta for especificada, todos os arquivos LAS que residem nela serão importados.

Na caixa de diálogo da ferramenta, uma pasta também pode ser especificada como entrada, selecionando a pasta no Windows Explorer e arrastando-a para a caixa de entrada do parâmetro.

A classe de recursos que será produzida.

A distância 2D média entre pontos no arquivo ou arquivos de entrada. Isso pode ser uma aproximação. Se as áreas foram amostradas em densidades diferentes, especifique o espaçamento menor. O valor precisa ser fornecido nas unidades de projeção do sistema de coordenadas de saída.

Os códigos de classificação a serem usados ​​como filtro de consulta para pontos de dados LAS. Os valores válidos variam de 1 a 32. Nenhum filtro é aplicado por padrão.

Os valores de retorno que serão usados ​​para filtrar os pontos LAS que são importados para recursos multiponto.

  • Todas as devoluções - Todas as devoluções
  • 1º Retorno —1
  • 2º retorno - 2
  • 3º Retorno —3
  • 4º retorno —4
  • 5º Retorno —5
  • 6º Retorno —6
  • 7º Retorno —7
  • 8º Retorno - 8
  • Último retorno - Últimos retornos

As propriedades do ponto LAS cujos valores serão armazenados em campos de objetos binários grandes (BLOB) na tabela de atributos da saída. Se os recursos resultantes participarão de um conjunto de dados do terreno, os atributos armazenados podem ser usados ​​para simbolizar o terreno. A coluna Nome indica o nome do campo que será usado para armazenar os atributos especificados. As seguintes propriedades LAS são suportadas:

  • INTENSIDADE - Intensidade
  • RETURN_NUMBER - Número de devolução
  • NUMBER_OF_RETURNS - Número de retornos por pulso
  • SCAN_DIRECTION_FLAG - Sinalizador de direção de digitalização
  • EDGE_OF_FLIGHTLINE - Borda da linha de voo
  • CLASSIFICAÇÃO - Classificação
  • SCAN_ANGLE_RANK - Classificação do ângulo de varredura
  • FILE_MARKER - Marcador de arquivo
  • USER_BIT_FIELD - Valor dos dados do usuário
  • GPS_TIME - hora GPS
  • COLOR_RED - banda vermelha
  • COLOR_GREEN - faixa verde
  • COLOR_BLUE - Faixa azul

O sistema de coordenadas do arquivo LAS de entrada.

O sufixo dos arquivos que serão importados de uma pasta de entrada. Este parâmetro é necessário quando uma pasta é especificada como entrada.

O fator pelo qual os valores z serão multiplicados. Isso é normalmente usado para converter unidades lineares z para corresponder às unidades lineares x, y. O padrão é 1, o que deixa os valores de elevação inalterados. Este parâmetro não está disponível se a referência espacial da superfície de entrada tiver um datum z com uma unidade linear especificada.

Varre subpastas quando uma pasta de entrada é selecionada contendo dados em um diretório de subpastas. A classe de recurso de saída será gerada com uma linha para cada arquivo encontrado na estrutura de diretório.

  • Desmarcado - Somente arquivos LAS encontrados em uma pasta de entrada serão convertidos em recursos multiponto. Este é o padrão.
  • Verificado - Todos os arquivos LAS que residem nos subdiretórios de uma pasta de entrada serão convertidos em recursos multiponto.

Os arquivos LAS ou ZLAS que serão importados para uma classe de recurso multiponto. Se uma pasta for especificada, todos os arquivos LAS que residem nela serão importados.

Na caixa de diálogo da ferramenta, uma pasta também pode ser especificada como entrada, selecionando a pasta no Windows Explorer e arrastando-a para a caixa de entrada do parâmetro.

A classe de recursos que será produzida.

A distância 2D média entre pontos no arquivo ou arquivos de entrada. Isso pode ser uma aproximação. Se as áreas foram amostradas em densidades diferentes, especifique o espaçamento menor. O valor precisa ser fornecido nas unidades de projeção do sistema de coordenadas de saída.

Os códigos de classificação a serem usados ​​como filtro de consulta para pontos de dados LAS. Os valores válidos variam de 1 a 32. Nenhum filtro é aplicado por padrão.

Os valores de retorno que serão usados ​​para filtrar os pontos LAS que são importados para recursos multiponto.

  • ANY_RETURNS - Quaisquer devoluções
  • 1 — 1
  • 2 — 2
  • 3 — 3
  • 4 — 4
  • 5 — 5
  • 6 — 6
  • 7 — 7
  • 8 — 8
  • LAST_RETURNS - Últimos retornos

As propriedades do ponto LAS cujos valores serão armazenados em campos de objetos binários grandes (BLOB) na tabela de atributos da saída. Se os recursos resultantes participarão de um conjunto de dados do terreno, os atributos armazenados podem ser usados ​​para simbolizar o terreno. A coluna Nome indica o nome do campo que será usado para armazenar os atributos especificados. As seguintes propriedades LAS são suportadas:

  • INTENSIDADE - Intensidade
  • RETURN_NUMBER - Número de devolução
  • NUMBER_OF_RETURNS - Número de retornos por pulso
  • SCAN_DIRECTION_FLAG - Sinalizador de direção de digitalização
  • EDGE_OF_FLIGHTLINE - Borda da linha de voo
  • CLASSIFICAÇÃO - Classificação
  • SCAN_ANGLE_RANK - Classificação do ângulo de varredura
  • FILE_MARKER - Marcador de arquivo
  • USER_BIT_FIELD - Valor dos dados do usuário
  • GPS_TIME - hora GPS
  • COLOR_RED - banda vermelha
  • COLOR_GREEN - faixa verde
  • COLOR_BLUE - Faixa azul

O sistema de coordenadas do arquivo LAS de entrada.

O sufixo dos arquivos que serão importados de uma pasta de entrada. Este parâmetro é necessário quando uma pasta é especificada como entrada.

O fator pelo qual os valores z serão multiplicados. Isso é normalmente usado para converter unidades lineares z para corresponder às unidades lineares x, y. O padrão é 1, o que deixa os valores de elevação inalterados. Este parâmetro não está disponível se a referência espacial da superfície de entrada tiver um datum z com uma unidade linear especificada.

Varre subpastas quando uma pasta de entrada é selecionada contendo dados em um diretório de subpastas. A classe de recurso de saída será gerada com uma linha para cada arquivo encontrado na estrutura de diretório.

  • NO_RECURSION - Somente arquivos LAS encontrados em uma pasta de entrada serão convertidos em recursos multiponto. Este é o padrão.
  • RECURSÃO - Todos os arquivos LAS que residem nos subdiretórios de uma pasta de entrada serão convertidos em recursos multiponto.

Amostra de código

O exemplo a seguir demonstra o uso dessa ferramenta na janela Python.

O exemplo a seguir demonstra o uso dessa ferramenta em um script Python autônomo.


Mdhntd

Os europeus na Europa podem exigir proteção sob a Declaração das Nações Unidas sobre os Direitos dos Povos Indígenas?

O que é uma palavra alemã para & # 187Sandbagger & # 171?

Qual arma de fogo moderna um viajante do tempo deve trazer para ser facilmente reproduzível para uma civilização histórica?

A maneira mais segura de lidar com alguém que se esquece de verificar sua conta?

O que é uma transformada de Kravtchuk e como ela se relaciona com as transformadas de Fourier?

Existem satélites em órbitas geossíncronas, mas não geoestacionárias?

Por que existem poucos ou nenhum super GMs negros?

Viagem de trabalho cancelada de última hora significa que vou perder milhares de dólares nas férias planejadas

Força bruta na mesa telefônica

"Je suis petite, moi?", Propósito do "moi"?

Um problema de classificação "Substituir". Básico, mas me assombra

Encontrei um erro no código de alguém publicado online: qual é o protocolo?

O conjunto de instruções mais simples que possui um compilador c ++ / C para o qual escrever um emulador?

Uma espaçonave está viajando a X unidades por hora. Mas em relação ao que exatamente? Depende da órbita? Como?

O computador DOS travado emitiu um bipe ao pressionar a tecla. Que mecanismo causou isso?

Devo ter uma mão no acelerador durante a ignição do motor?

Hitler disse esta citação sobre o ensino doméstico?

Qual a importância do humor e dos sentimentos do autor ao escrever uma história?

Quando a última evidência inequívoca da humanidade desaparecerá?

Quando uma bola em uma corda oscila em um círculo, há força centrípeta e força de tensão?

O que poderia tornar grandes expedições ineficazes para explorar um território cheio de perigos e recursos valiosos?

Arcpy 'Append_management' é muito mais lento que a ferramenta ArcMap?

Rede tem desempenho lento em SDE Melhorando a velocidade de processamento do script Python (desempenho)? A ferramenta ArcGIS & # 8220Merge & # 8221 é mais lenta no arcpy do que quando é iniciada com a interface ArcGIS. As alterações não persistem no servidor ArcGIS a partir do script ArcPy? Mass ArcPy GDB LoadRoute Layer com ArcPy e OSM Dados - muito lento Por que a maioria é muito mais lenta do que a média nas estatísticas Focal? Exportando a camada raster usando & # 8220Exportar dados raster & # 8221 vs Copiar RasterArcpy Lento para ler conjuntos de dados da conexão (.sde) FileWriting ArcPy point feature geometries from GeoJSON / WebOptimizing Field Update - Atualizar Cursor, ArcPy

Basicamente, tenho um script que obtém dados de um serviço da web, analisa-os, armazena-os em um fgdb local intermediário e, em seguida, acrescenta esses dados à classe de recurso no gdb corporativo.

A parte do script que está demorando muito é apenas esta chamada dentro de uma função:

De uma classe de recursos no fgdb para outra, é rápido como um relâmpago

Do fgdb ao geodatabase corporativo, leva 19 minutos. Não importa a quantidade de linhas. 10 linhas, 100 linhas ou 300 linhas levam 19 minutos.

Eu tentei exatamente os mesmos dados usando arcpy e então usando ArcMap. ArcPy levou 19 minutos, ArcMap levou 1 segundo. (Para 138 registros). Eles foram testados na mesma máquina.

Alguma razão para isso estar fazendo isso?

Você já tentou pesquisar o GIS SE, esse tipo de pergunta aparece com bastante regularidade? Aqui está um motivo possível.

Basicamente, tenho um script que obtém dados de um serviço da web, analisa-os, armazena-os em um fgdb local intermediário e, em seguida, acrescenta esses dados à classe de recurso no gdb corporativo.

A parte do script que está demorando muito é apenas esta chamada dentro de uma função:

De uma classe de recursos no fgdb para outra, é rápido como um relâmpago

Do fgdb ao geodatabase corporativo, leva 19 minutos. Não importa a quantidade de linhas. 10 linhas, 100 linhas ou 300 linhas levam 19 minutos.

Eu tentei exatamente os mesmos dados usando arcpy e então usando ArcMap. ArcPy levou 19 minutos, ArcMap levou 1 segundo. (Para 138 registros). Eles foram testados na mesma máquina.

Alguma razão para isso estar fazendo isso?

Você já tentou pesquisar o GIS SE, esse tipo de pergunta aparece com bastante regularidade? Aqui está um motivo possível.

Basicamente, tenho um script que obtém dados de um serviço da web, analisa-os, armazena-os em um fgdb local intermediário e, em seguida, acrescenta esses dados à classe de recurso no gdb corporativo.

A parte do script que está demorando muito é apenas esta chamada dentro de uma função:

De uma classe de recursos no fgdb para outra, é rápido como um relâmpago

Do fgdb ao geodatabase corporativo, leva 19 minutos. Não importa a quantidade de linhas. 10 linhas, 100 linhas ou 300 linhas levam 19 minutos.

Eu tentei exatamente os mesmos dados usando arcpy e então usando ArcMap. ArcPy levou 19 minutos, ArcMap levou 1 segundo. (Para 138 registros). Eles foram testados na mesma máquina.

Alguma razão para isso estar fazendo isso?

Basicamente, tenho um script que obtém dados de um serviço da web, analisa-os, armazena-os em um fgdb local intermediário e, em seguida, acrescenta esses dados à classe de recurso no gdb corporativo.

A parte do script que está demorando muito é apenas esta chamada dentro de uma função:

De uma classe de recursos no fgdb para outra, é rápido como um relâmpago

Do fgdb ao geodatabase corporativo, leva 19 minutos. Não importa a quantidade de linhas. 10 linhas, 100 linhas ou 300 linhas levam 19 minutos.

Eu tentei exatamente os mesmos dados usando arcpy e então usando ArcMap. ArcPy levou 19 minutos, ArcMap levou 1 segundo. (Para 138 registros). Eles foram testados na mesma máquina.

Alguma razão para isso estar fazendo isso?

Você já tentou pesquisar o GIS SE, esse tipo de pergunta aparece com bastante regularidade? Aqui está um motivo possível.

Você já tentou pesquisar o GIS SE, esse tipo de pergunta aparece com bastante regularidade? Aqui está um motivo possível.

Você já tentou pesquisar o GIS SE, esse tipo de pergunta aparece com bastante regularidade? Aqui está um motivo possível.

Você já tentou pesquisar o GIS SE, esse tipo de pergunta aparece com bastante regularidade? Aqui está um motivo possível.


Processo: Remover União

Todas as tabelas têm o mesmo nome além do número FIPS.

Muitas vezes descobri que o modelbuilder falha ao executar conforme o esperado neste cenário de fazer e quebrar junções porque os parâmetros parecem se prender aos valores / configurações anteriores. Pensa que os mapas de campo são um pesadelo e nunca funcionam! Se fosse eu, mudaria para um ambiente de script Python onde você tem controle total de configurações de parâmetro em loops complexos. Você está chamando todas as mesmas ferramentas apenas em um ambiente de script.

Obrigado pela resposta. Mudei para um ambiente de script, mas estou recebendo este erro: ExecuteError: Falha ao executar. Os parâmetros não são válidos. O valor não pode ser uma classe de recurso ERROR 000840: O valor não é uma camada raster. ERRO 000840: O valor não é uma camada de catálogo raster. ERRO 000840: O valor não é uma camada de mosaico.

Não é possível comentar sem ver o código, sugiro que você altere sua pergunta e inclua o código?

Muitas vezes descobri que o modelbuilder falha ao executar conforme o esperado neste cenário de fazer e quebrar junções porque os parâmetros parecem se prender aos valores / configurações anteriores. Pensa que os mapas de campo são um pesadelo e nunca funcionam! Se fosse eu, mudaria para um ambiente de script Python onde você tem controle total de configurações de parâmetro em loops complexos. Você está chamando todas as mesmas ferramentas apenas em um ambiente de script.

Obrigado pela resposta. Mudei para um ambiente de script, mas estou recebendo este erro: ExecuteError: Falha ao executar. Os parâmetros não são válidos. O valor não pode ser uma classe de recurso ERROR 000840: O valor não é uma camada raster. ERRO 000840: O valor não é uma camada de catálogo raster. ERRO 000840: O valor não é uma camada de mosaico.

Não é possível comentar sem ver o código, sugiro que você altere sua pergunta e inclua o código?

Muitas vezes descobri que o modelbuilder falha ao executar conforme o esperado neste cenário de fazer e quebrar junções porque os parâmetros parecem se prender aos valores / configurações anteriores. Pensa que os mapas de campo são um pesadelo e nunca funcionam! Se fosse eu, mudaria para um ambiente de script Python onde você tem controle total de configurações de parâmetro em loops complexos. Você está chamando todas as mesmas ferramentas apenas em um ambiente de script.

Muitas vezes descobri que o modelbuilder falha ao executar conforme o esperado neste cenário de fazer e quebrar junções porque os parâmetros parecem se prender aos valores / configurações anteriores. Pensa que os mapas de campo são um pesadelo e nunca funcionam! Se fosse eu, mudaria para um ambiente de script Python onde você tem controle total de configurações de parâmetro em loops complexos. Você está chamando todas as mesmas ferramentas apenas em um ambiente de script.

Obrigado pela resposta. Mudei para um ambiente de script, mas estou recebendo este erro: ExecuteError: Falha ao executar. Os parâmetros não são válidos. O valor não pode ser uma classe de recurso ERROR 000840: O valor não é uma camada raster. ERRO 000840: O valor não é uma camada de catálogo raster. ERRO 000840: O valor não é uma camada de mosaico.

Obrigado pela resposta. Mudei para um ambiente de script, mas estou recebendo este erro: ExecuteError: Falha ao executar. Os parâmetros não são válidos. O valor não pode ser uma classe de recurso ERROR 000840: O valor não é uma camada raster. ERRO 000840: O valor não é uma camada de catálogo raster. ERRO 000840: O valor não é uma camada de mosaico.

Não é possível comentar sem ver o código, sugiro que você altere sua pergunta e inclua o código?

Não é possível comentar sem ver o código, sugiro que você altere sua pergunta e inclua o código?


Assista o vídeo: Python Tutorial - How to Read and Write to CSV Files 2020