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