[英]CSV - How to read and write row by row?
我有一個像這樣的 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"
並使用result1
、 result2
和result3
更新價格列,然后轉到下一行再次執行相同操作。
誰能幫助我如何讀取和寫入這樣的 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.