[英]Python: for loop and saving to a new CSV file with pandas
一直在搜寻,但似乎无法解决此问题。
我有一个包含两个标题的“ 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
`
我想做的是进入上述每个URL,解析其中的表,然后将数据保存在新的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)
`
我在这里错过了我无法解决的一大步骤,我想将每个URL中的表保存到新CSV中,其名称来自相应URL的“名称”列。
有人可以帮我解决这个简单的部分吗? 当前,所有这些代码所做的只是将最后一个URL的数据保存到名为“ Active”的csv中,而根本没有保存前两个URL。
先感谢您!
您是说需要逐行迭代数据帧吗? URL
值用于获取数据。 “ Name
用于保存数据。 如果有可能,你需要它
for row in df.iterrows():
name = row[1]['Name']
url = row[1]['URL']
谢谢您,这已帮助解决了问题,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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.