Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hola comunidad)
Antes de mí estaba la tarea de obtener datos de 10 tablas de Google que están en la misma carpeta en Google Drive. Desafortunadamente, no hay posibilidad técnica de deoat esto a través de la API de Google y asignar un servidor para esto, como un conector. Power Bi no lee el enlace de la carpeta de Google y no ve todas las tablas si los vínculos se insertan todos juntos en la fuente, solo toma el primero y eso es todo.
Dime cómo resolver este momento, ¿cómo obtener acceso a todas las hojas de cálculo de Google en una carpeta en una solicitud de fuente?
Solved! Go to Solution.
Hola. El problema se resolvió de manera un poco diferente. A continuación desecho todo lo que pude encontrar en Internet. Los conectores no son todos adecuados y no funcionan como desea.
El problema se resolvió a través de la API de Google y un script de Python. A continuación arrojo 2 enlaces a videos en ruso con una solución al problema. Pero su guión es un poco complicado y mucho superfluo,
Un poco de reelaboración, obtenemos un buen resultado
Google Drive
Hojas de cálculo de Google
Mi ejemplo de script python de estado de trabajo
Importar pandas como PD
Importar glob
desde pydrive.auth importar GoogleAuth
desde pydrive.drive importar GoogleDrive
desde oauth2client.service_account importar ServiceAccountCredentials
gauth = GoogleAuth()
ámbito = ["https://www.googleapis.com/auth/drive"]
gauth.credentials = ServiceAccountCredentials.from_json_keyfile_name(r"Let to the key file API Google", scope)
drive = GoogleDrive(gauth)
folder_id = ['ID Google Folder ']
Para archivos en folder_id:
file_list = unidad. ListFile({'q': "'{}' in parents and trashed=false".format(files)}). GetList()
Para archivo en file_list:
test_id=archivo['id']
test_title=archivo['título']
mime='application/vnd.google-apps.spreadsheet'
if mime in file.metadata['mimeType']:
test_file=unidad. CreateFile({'id': test_id })
contenido=test_file. GetContentFile(fr'C:\Users\**\Desktop\xls\{test_title}.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
path = r"C:\Users\**\Desktop\xls"
file_list = glob.glob(ruta + "/*.xlsx")
excl_list = []
Para archivo en file_list:
excl_list.append(pd.read_excel(archivo))
excl_merged = pd.concat(excl_list, ignore_index=Verdadero)
excl_merged.to_excel(r'C:\Users\**\Desktop\combined.xlsx')
La versión del script es seca, pero como no soy programador, esta es una pista para usted dónde buscar la conveniencia del trabajo.
Trabajé a través de Anaconda. Y sí, PowerBi debe ejecutarse a través de Anaconda, porque tendrá que descargar un montón de paquetes como pandas.
Hola. El problema se resolvió de manera un poco diferente. A continuación desecho todo lo que pude encontrar en Internet. Los conectores no son todos adecuados y no funcionan como desea.
El problema se resolvió a través de la API de Google y un script de Python. A continuación arrojo 2 enlaces a videos en ruso con una solución al problema. Pero su guión es un poco complicado y mucho superfluo,
Un poco de reelaboración, obtenemos un buen resultado
Google Drive
Hojas de cálculo de Google
Mi ejemplo de script python de estado de trabajo
Importar pandas como PD
Importar glob
desde pydrive.auth importar GoogleAuth
desde pydrive.drive importar GoogleDrive
desde oauth2client.service_account importar ServiceAccountCredentials
gauth = GoogleAuth()
ámbito = ["https://www.googleapis.com/auth/drive"]
gauth.credentials = ServiceAccountCredentials.from_json_keyfile_name(r"Let to the key file API Google", scope)
drive = GoogleDrive(gauth)
folder_id = ['ID Google Folder ']
Para archivos en folder_id:
file_list = unidad. ListFile({'q': "'{}' in parents and trashed=false".format(files)}). GetList()
Para archivo en file_list:
test_id=archivo['id']
test_title=archivo['título']
mime='application/vnd.google-apps.spreadsheet'
if mime in file.metadata['mimeType']:
test_file=unidad. CreateFile({'id': test_id })
contenido=test_file. GetContentFile(fr'C:\Users\**\Desktop\xls\{test_title}.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
path = r"C:\Users\**\Desktop\xls"
file_list = glob.glob(ruta + "/*.xlsx")
excl_list = []
Para archivo en file_list:
excl_list.append(pd.read_excel(archivo))
excl_merged = pd.concat(excl_list, ignore_index=Verdadero)
excl_merged.to_excel(r'C:\Users\**\Desktop\combined.xlsx')
La versión del script es seca, pero como no soy programador, esta es una pista para usted dónde buscar la conveniencia del trabajo.
Trabajé a través de Anaconda. Y sí, PowerBi debe ejecutarse a través de Anaconda, porque tendrá que descargar un montón de paquetes como pandas.
Puede considerar el uso de un conector web (trabaje con 'REST API'/'servicio web'), otros controladores de conector (por ejemplo, controlador odbc) o crear un conector personalizado para cumplir con sus requisitos.
Consulte a:
Conexión a Google Drive CARPETA
Conector de Power BI de Google Drive
Saludos
Gao
Equipo de soporte de la comunidad
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo bien sus necesidades o todavía tiene problemas, no dude en hacérnoslo saber. ¡Muchas gracias!
Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de muestra
Buenas tardes
Desafortunadamente, no funciona de acuerdo con sus consejos y otros artículos que leí.
Para implementar un conector a Google Drive, debe poder comprender la API de Google, lo que, desafortunadamente, no se puede hacer.
Si tiene algún otro consejo para resolver esta situación, estaré encantado de ayudarle.
Permítanme recordarles la tarea:
Hay una carpeta en Google Disk con 100+ Google Tabs.
Debe cargar datos de estas tablas con una solicitud y negarse a cargar desde Google Disk a su PC local.
Hágalo automático para que pueda actualizarse con todos los datos a medida que se llena.