【发布时间】:2018-04-11 06:44:47
【问题描述】:
一定是我完全忽略的东西。
我正在尝试获取此脚本
import csv
in_file = open("11pmTrend.csv", 'r')
reader = csv.DictReader(in_file, delimiter= ',')
out_file = open("11pm.csv", 'w')
out_file.write("Rank,Symbol,CurrentPrice\n")
check_file = open("11pmQuote.csv", 'r')
check = csv.DictReader(check_file, delimiter=',')
trend = set()
trend_sn = dict()
for row in reader:
trend.add(row["Symbol"])
trend_sn[row["Symbol"]] = row["Rank"]
print(row["Symbol"])
stocknums = dict()
for row in check:
stocknums[row["Sym"]] = row["Price"]
print(row["Sym"])
for product in trend:
ref = 0
if product in stocknums:
if(stocknums[product] > 0):
ref = (row["Price"])
out_file.write(str(trend_sn[product]) + ',' + str(product) + ','+ str(ref)+ "\n")
首先查看这个文件 11pmTrend.csv(平均大约 100 行),其中包含 Ranks 和 Stock/Crypto Symbols,然后捕获 Symbol,然后
Rank,Symbol
15,BTC
12,TSLA
打开第二个文件 11pmQuote.csv(平均约 9000 行),其中包含 Symbols/Prices 并获取相应的价格和
Sym,Price
TSLA,302.25
BTC,7000.76
将其输出到第三个文件 11pm.csv 中,应该如下所示:
Rank,Symbol,CurrentPrice
12,TSLA,302.25
15,BTC,7000.76
但是,我得到了这个:
Rank,Symbol,CurrentPrice
12,TSLA,7000.76
15,BTC,7000.76
它从第一个文件中获取第一行,然后将该价格附加到两行而不是迭代/循环,并输出正确的价格以匹配第二行。
我想知道我做错了什么?
【问题讨论】:
标签: python python-2.7 csv