“ValueError: No objects to concatenate”是什么意思,我该如何修复它?

15

我尝试从谷歌趋势中获取数据,并将其放入Google Sheets。第一次运行很顺利,但第二次就不太顺利了。我遇到了一个称为:

ValueError: No objects to concatenate

我以前在Stack Overflow上搜索过这个错误,但没有找到任何解决方案。我使用下面显示的代码:

!pip install Pytrends
!pip install pandas
!pip install pytrends --upgrade <---------Note: this solved a different error.
from pytrends.request import TrendReq
import pandas as pd
import time
startTime = time.time()
pytrend = TrendReq(hl='nl-NL', tz=360)
df = wb = gc.open_by_url('https://docs.google.com/spreadsheets/d/1QE1QilM-GDdQle6eVunepqG5RNWv39xO0By84C19Ehc/edit?usp=sharing')
sheet = wb.sheet1
df2 = sheet.col_values(5)
d_from = sheet.acell('B7').value
d_to = sheet.acell('B8').value
geo1 = sheet.acell('B10').value
dataset = []
for x in range(1,len(df2)):
     keywords = [df2[x]]
     pytrend.build_payload(
     kw_list=keywords,
     cat=0,
     timeframe= str(d_from + " " + d_to),
     geo= str(geo1))
     data = pytrend.interest_over_time()
     if not data.empty:
          data = data.drop(labels=['isPartial'],axis='columns')
          dataset.append(data)
result = pd.concat(dataset, axis=1)
result.to_csv('search_trends_DOWNLOAD_ME.csv')
!cp search_trends_DOWNLOAD_ME.csv "/content/drive/My Drive/Colab Notebooks/Output"
executionTime = (time.time() - startTime)
print('Execution time in sec.: ' + str(executionTime))

我收到的错误信息:

ValueError                                Traceback (most recent call last)
<ipython-input-5-b86c7b4df727> in <module>()
     25           data = data.drop(labels=['isPartial'],axis='columns')
     26           dataset.append(data)
---> 27 result = pd.concat(dataset, axis=1)
     28 result.to_csv('search_trends_DOWNLOAD_ME.csv')
     29 get_ipython().system('cp search_trends_DOWNLOAD_ME.csv "/content/drive/My Drive/Colab Notebooks/Output"')

1 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/reshape/concat.py in __init__(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)
    327 
    328         if len(objs) == 0:
--> 329             raise ValueError("No objects to concatenate")
    330 
    331         if keys is None:

ValueError: No objects to concatenate

我使用的关键字位于df = wb = gc.open_by_url中。这是一个包含位置、语言和关键字的 Google 表格。


3
似乎你的“数据集”为空,请尝试先将其打印到屏幕上,同样地,“df”和“df2”也是如此。 - Maciek
@Maciek 我应该在 "df2" 之前放置 "dataset = []" 吗?那样行吗? - Luca
这不会改变任何事情。也许可以尝试一下我建议的方法。 - Maciek
@Maciek 对不起,我真的不理解你所说的“earlier”是什么意思。这是我编写的第一个代码,如果有建议更改,我不知道应该怎么修改,没有示例。这就是我所遇到的问题,在阅读所有关于这个问题的其他问题时都很困扰。感谢您迄今为止的回应:) - Luca
1
我的意思是你可以将这些变量打印到屏幕上,而不是移动当前指令。 - Maciek
1个回答

2

我之前也遇到过这个问题,只是路径/文件的URL打错了,请再次检查路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接