簡體   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