导入网页数据到 Google Sheet

数据没有用,我们需要的是数据所反映出来的东西。增长率,排名,占比等。而这些结果是通过分析数据得到的。
从网上搜集到数据后,导入到表格程序中便可以进行方便地分析处理了。下面介绍将网页中的表格数据导入到 Google Sheet 中的操作。

当我尝试去 Google 相关方法的时候,对于这个搜索结果相当的满意。不仅给出了来自 Youtube 的视频教程,还给出了建议观看的位置。这样的产品细节让很多竞品难以匹敌。

Goolge 搜索结果

Import HTML in Google Docs,你可以自行观看也可以继续阅读本文。

利用 importHTML 公式可以轻松实现将网页中的数据导入到我们的工作表当中。

importHTML 公式

该公式需要三个入参,分别是:

  • url 导入数据的网页地址
  • query 指定数据的类型,是页面中的列表(ul,ol)还是表格(table)
  • index 指定需要导入的索引,如果页面中不止一个数据源,则可以通过这个来指明导入第几个

我们以 [List of countries by GDP](https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)这个来自 Wikipedia 的国家 GDP 排名页面为列,将其中的表格数据进行导入。

![来自 Wikipedia 的国家 GDP 排名

在需要导入的单元格里输入以下公式:

=importHTML("https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)","table",3)

然后执行。数据加载完成后,页面中第三个 table 的数据就被导入了。

导入成功后的数据

回顾上面的参数,第一个 url 没问题,就是浏览器地址栏里的,直接复制粘贴。
第二个参数自不必多说,我们需要导入的不是列表,而是table
而最后个参数为什么是3?因为如果是1的话导入的数据并不正常,所以页面的 HTML 代码中有隐藏的用于布局的 table,我们需要跳过,尝试到3的时候有数据了。

对于没有网页编程相关经验的人来说,总之可以从1开始试,通过导入的结果便可知道是否是想要的数据。

当数据在专业的表格程序中的时候,分析处理起来就很得心应手了。譬如我们觉得表格数据不够直观,可以快速简单点两下就能插入一个地区图。

假设我们想要观察 GDP 排名前20的国家在地图上的分布。首先选中所需数据。
选择Insert->Chart...

插入图表

在弹出的图表编辑框中,指定图表类型为Geo chart

插入地理图表

数据一下子就直观起来了!

但通过图片看出问题来了,也就是少了些很重要的经济体,譬如兔子,战斗民族。
回头看表格中的数据,China 的名字似乎不对,将数据复制一分出来到 Sheet2,将名字更正一下,再重复上面的步骤。

修正后的图表数据

这是完工后的工作表,前往参观

### 回答1: 要将CSV文件自动导入Google Sheets中,您可以使用Google Sheets API和Shell脚本结合起来完成以下步骤: 1. 创建Google Cloud Platform(GCP)项目并启用Google Sheets API。 2. 通过GCP控制台生成API密钥,并将其保存为JSON文件。 3. 安装Google API客户端库以便在Shell脚本中使用它。 4. 编写Shell脚本,该脚本使用Google API客户端库和API密钥连接到Google Sheets API并导入CSV文件。 以下是一个可能的Shell脚本示例: ```bash #!/bin/bash # 设置变量 SPREADSHEET_ID="your_spreadsheet_id" RANGE="Sheet1!A1" CSV_FILE="your_csv_file.csv" CREDENTIALS_FILE="path_to_your_credentials_file.json" # 使用Google API客户端库导入CSV文件 python3 - <<END import gspread from google.oauth2.service_account import Credentials # 连接到Google Sheets API creds = Credentials.from_service_account_file('$CREDENTIALS_FILE') client = gspread.authorize(creds) # 打开指定的Google Sheets文档 sheet = client.open_by_key('$SPREADSHEET_ID') # 获取要导入的工作表 worksheet = sheet.worksheet('Sheet1') # 读取CSV文件内容并将其导入Google Sheets with open('$CSV_FILE', 'r') as file: content = file.read() worksheet.update(RANGE, [content.split(',')]) END ``` 在这个示例中,脚本假定您已经设置了SPREADSHEET_ID、RANGE、CSV_FILE和CREDENTIALS_FILE变量。您需要将这些变量替换为您自己的值。此外,脚本使用Python调用Google API客户端库并导入CSV文件。 要运行此脚本,您需要确保已经安装了Python 3.x和Google API客户端库。您还需要将脚本中的"path_to_your_credentials_file.json"替换为您的API密钥JSON文件的路径。最后,运行脚本,它将自动将CSV文件导入Google Sheets中指定的工作表中。 ### 回答2: 要将CSV文件自动导入Google Sheets中,可以使用以下步骤编写一个Shell脚本: 1. 首先,确保计算机已经安装了Google Sheets API的客户端库和认证密钥。可以通过Google Cloud控制台在项目中启用Google Sheets API,并下载JSON格式的认证密钥。 2. 在Shell脚本中,使用适当的命令引入所需的库和工具。可以使用`pip`命令安装`gspread`库,该库提供了与Google Sheets进行交互的功能。 3. 配置认证密钥,并使用认证密钥创建一个客户端对象。可以使用`gspread`库提供的`service_account`方法: ```shell import gspread from oauth2client.service_account import ServiceAccountCredentials scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive'] credentials = ServiceAccountCredentials.from_json_keyfile_name('path_to_credentials_file.json', scope) client = gspread.authorize(credentials) ``` 在上述代码中,将“path_to_credentials_file.json”替换为您下载的认证密钥的路径。 4. 使用客户端对象打开要导入数据Google Sheets文件: ```shell sheet = client.open('Google_Sheets_File_Name').sheet1 ``` 将“Google_Sheets_File_Name”替换为要导入数据Google Sheets文件名称。 5. 使用Shell脚本编写代码来读取CSV文件的内容并将其导入Google Sheets。您可以使用循环和split函数来解析CSV文件的每一行,并使用`update_cell`方法将数据写入Google Sheets。以下是一个基本的示例: ```shell import csv with open('path_to_csv_file.csv', 'r') as file: data = csv.reader(file) for row_num, row in enumerate(data, start=1): for col_num, value in enumerate(row, start=1): sheet.update_cell(row_num, col_num, value) ``` 在上述示例中,将“path_to_csv_file.csv”替换为要导入的CSV文件的路径。 6. 运行Shell脚本以自动将CSV文件导入Google Sheets。您可以使用Shell命令行或定时任务来执行脚本,从而实现自动导入。 请注意,上述示例是一个基本的导入操作,并假设CSV文件和Google Sheets文件的格式相匹配。如果您的文件包含更复杂的数据结构或需要特定的导入逻辑,您可能需要适当修改代码来实现所需的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值