python - 通过使用 python 跳过空白单元格来读取包含 url 的列/列表
问题描述
- 我在谷歌表中有一个列 all_sheet_url,其中有一些 url 链接。我需要一一阅读并从中获取数据。因为我想跳过的列中也有一些空白/NA。
- 项目清单
我已尝试使用以下代码,但它无法仅读取 url 并跳过列中的空格(如果有)。
sheet_url = df['Links']
for line in sheet_url:
#if line in sheet_url:
try:
url = line
req = requests.get(url, stream=True)
r = requests.get(url, timeout=10)
r.raise_for_status()
# checking if it is an html page
content_type = req.headers.get('content-type')
if 'html' in content_type or 'application/xhtml+xml' in content_type:
# reading the contents
html = req.content
# req.close()
output = html
print(output)
continue
else:
print("\t{} is not an HTML file".format(url))
#req.close()
except Exception:
return
请提出相同的方法/更正,谢谢。
- 我需要从 url 读取数据范围并写入主谷歌表。我能够一次读取和写入单个 url。但是,我希望它是动态的,以便它应该通过获取放置在列中的 url 的索引来自动读取和写入来自 url 的数据范围。这是我尝试过的代码,
wks = gc.open_by_url(url)
wks1 = gc.open_by_url(url1)
# Defining Range of cells to read
range1 = wks1.range('A5:A9')
range2 = wks1.range('A5:B9')
range3 = wks1.range('G11:L19')
range4 = wks1.range('B12:C13')
# Defining Range of cells to write
range1n = wks.range('CO43:CS43')
range2n = wks.range('CT43:DR43')
range3n = wks.range('DS43:FK43')
range4n = wks.range('FL43:FM43')
range_names = [['range1', 'range2', 'range3', 'range4']]
for range1_cell, range1n_cell in zip(range1, range1n):
range1n_cell.value = range1_cell.value
wks.update_cells(range1n)
解决方案
pandas 有一种dropna
方法可以完全满足您的需求。
在您的 cas 中,可能只是与第一行相同的处理代码:
all_sheet_url = df['Workbook Link'].dropna()
推荐阅读
- html - Angular 中的可滚动路由器插座
- sql-server - 更新地理数据类型
- python - PyAES 输出包括 b 和 ''
- spring - 有没有办法重新加载 Spring Boot 应用程序而无需在 STS 上重新运行应用程序?
- parallel-processing - 访问 CosmosDB 的机器人导致“PreconditionFailed”错误
- linux - 浏览器通过ip,Debian,Apache2更改域
- spring-boot - 疯狂记录:AppEngine 标准 + Spring Boot 2
- java - Java中的基本加密算法不解密
- java - 尝试重绘时“数组索引超出范围:1”
- mongoose - 为什么在实现 Mongoose 时使用 Discriminator 很重要?