到处搜寻但似乎无法解决这个问题。
我有一个包含两个标题的csv文件,"名称"和" URL"。我已将其保存在名为df1的变量中,如下所示:
`
import pandas as pd
df1 = pd.read_csv('yahoo finance.csv')
print(df1)
Name URL
0 Gainers https://au.finance.yahoo.com/gainers?e=ax
1 Losers https://au.finance.yahoo.com/losers
2 Active https://au.finance.yahoo.com/most-active
`
我尝试做的是进入上述每个网址,解析其中的表格,并将数据保存在新的CSV文件中。
`
for u in df1.URL:
u2 = pd.read_html(u)
for n in u2:
row2 = pd.DataFrame(num)
row2.to_csv(name+'.csv', index=False)
`
我错过了一个我无法解决的重要步骤,我希望将每个网址中的表格保存到一个新的CSV中,其名称来自" Name"相应网址的列。
有人可以帮我解决这个简单的部分吗?目前,所有这些代码都将最后一个网址的数据保存到名为“#34;活跃”的csv中,它根本没有保存前两个网址。
提前谢谢!
答案 0 :(得分:0)
你的意思是你需要逐行迭代一个数据帧吗? URL
值是否用于获取数据。 Name
是否用于保存数据。如果是,您可能需要it
for row in df.iterrows():
name = row[1]['Name']
url = row[1]['URL']
答案 1 :(得分:0)
谢谢,这有助于解决现在的问题,CSV正在保存它们应该是的。更新的代码是:
for row in df1.iterrows():
name = row[1]['Name']
url = row[1]['URL']
url2 = str(url)
url3 = pd.read_html(url2)
for num in url3:
row2 = pd.DataFrame(num)
row2.to_csv(name+'.csv', index=False)