簡體   English   中英

CSV - 如何逐行讀寫?

[英]CSV - How to read and write row by row?

我有一個像這樣的 CSV 文件:

csv文件截圖

在 Python 3 中,我已經從 URL 解析價格數據,如下所示:

source1 = "https://www.amazon.com/product1"
source2 = "https://www.ebay.com/product1"
source3 = "https://www.bestbuy.com/product1"

像這樣獲取價格數據:

result1 = trim.sub('', mystring1)
result2 = trim.sub('', mystring2)
result3 = trim.sub('', mystring3)

現在我想閱讀上面的頂級 CSV 文件,想要將每一行的 URL 輸入:

source1 = "read.csv"
source2 = "read.csv"
source3 = "read.csv"

並使用result1result2result3更新價格列,然后轉到下一行再次執行相同操作。

誰能幫助我如何讀取和寫入這樣的 CSV 文件?

我能夠一一讀取 CSV 列表,但是當我嘗試寫入新文件時,它的寫入方式如下圖所示

在此處輸入圖片說明

這是代碼。 它正在創建一個新行

import csv


with open('compare_sheet', 'w', newline='') as csv_file:
    fieldnames = ['ProductName', 'Amazon', 'Ebay', 'BestBuy']
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    writer.writeheader()

    product = pr_name.text
    result1 = trim.sub('', mystring1)
    print(result1)
    writer.writerow({'ProductName': product, 'Amazon': result1})

    result2 = trim.sub('', mystring2)
    print(result2)
    writer.writerow({'Ebay': result2})

    result3 = trim.sub('', mystring3)
    print(result3)
    writer.writerow({'BestBuy': result3})

如何在同一行寫價格?

顧名思義, writerow寫入一個完整的行。 你想把所有的結果組合成一行,像這樣;

writer.writerow({'ProductName': product, 'Amazon': result1, 'Ebay': result2, 'BestBuy': result3})

顯然,只有在填充了所有三個變量后才能執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM