繁体   English   中英

Python:for循环并使用pandas保存到新的CSV文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM