Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Obtener datos de varias hojas de cálculo de Google en una consulta

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?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

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.

Syndicate_Admin
Administrator
Administrator

@Alex_Pierse ,

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.

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors