Utilizando PyCharm 2021.2 (Community Edition) y Pandas 1.3.1, con el siguiente código:
import pandas as pd d = {'col1': [1, 2], 'col2': [3, 4]} df = pd.DataFrame(data=d) df.to_csv("testfile.csv")PyCharm producirá una Advertencia, resaltará "testfile.csv" y mostrará "Tipo esperado 'Ninguno', obtuvo 'str' en su lugar" al pasar el mouse sobre la Advertencia.
Se crea testfile.csv y no parece haber problemas.
¿Hay alguna manera de arreglar esto? ¿Alguien sabe por qué aparece este Aviso?
Gracias
Puede suprimir la advertencia de PyCharm de la siguiente manera:
# noinspection PyTypeChecker df.to_csv("testfile.csv") También puede agregar el comentario de noinspection al comienzo de una función o clase para deshabilitar las advertencias internas, pero tenga cuidado de no ocultar otras advertencias reales. Prefiero la supresión por estado de cuenta solo cuando sea necesario.
Esto parece ser un error en Pycharm que le impide interpretar correctamente | ; el nuevo operador para typing.Union . Unión.
Si ctrl + p mientras estoy dentro de la lista de argumentos de to_csv , obtengo esto
Tenga en cuenta que cree que el argumento es de tipo None (indicado por : None ).
El problema es que esta es la firma real de la función:
def to_csv( self, path_or_buf: FilePathOrBuffer[AnyStr] | None = None, . . . El tipo del parámetro es en realidad FilePathOrBuffer[AnyStr] | None , que antes de Python 3.10 sería typing.Union[FilePathOrBuffer[AnyStr], None] o simplemente typing.Optional[FilePathOrBuffer[AnyStr]] .
Aparentemente, Pycharm aún no puede leer sugerencias de tipos sofisticados, a pesar de decir que es compatible con Python 3.10.