我正在将数据从CSV加载到数据框中,然后遍历各行以进行Web查询。我的所有代码如下所示。 BTY,谢谢您到目前为止所提供的帮助!
import pandas as pd
from bs4 import BeautifulSoup
import requests
import pandas as pd
df = pd.read_csv('C:\\Users\\ryans\\OneDrive\\Desktop\\Briefcase\\NY Times Dates\\exchanges.csv')
print(df)
for index, row in df.iterrows():
passin = 'https://markets.on.nytimes.com/research/markets/holidays/holidays.asp?display=market&exchange='+row["Symbol"]
dfs = pd.read_html(passin)
df = dfs[0]
print(df)
我在这里的最后一步是将数据帧2附加在数据帧1下,并将数据帧3附加在数据帧2下,依此类推,依此类推……我在Google上寻求了解决方案,并且发现了几种在#1下附加#1的技术,仅此而已。我不确定如何将数据帧#n附加到数据帧#n-1。我怎样才能做到这一点?我猜这是一个增量过程,但是我无法在这里正常工作。如果可以的话,请放弃一些知识。谢谢!
答案 0 :(得分:2)
您可以将生成器表达式与pd.concat
一起使用:
url = 'https://markets.on.nytimes.com/research/markets/holidays/holidays.asp?display=market&exchange='
res = pd.concat(pd.read_html(f'{url}{symbol}')[0] for symbol in df['Symbol'])
如果您希望在连接时忽略索引,请使用参数ignore_index=True
:
gen = (pd.read_html(f'{url}{symbol}')[0] for symbol in df['Symbol'])
res = pd.concat(gen, ignore_index=True)