我想在公告日獲得股票的價格。所以,我需要返回一個包含文件1.Python - 在2個不同的csv/txt文件中比較2列並找到匹配
- 我有超過1000股票價格
- 文件1「公告日期」兩個CSV文件中包含日期在文件2行:
- 公告日期; TICKER
- 20151116; A聯合國股權
- 20141117; A聯合國股權
- 20131114; A聯合國股權 ...
- 文件2 '價格' 包含每個股票每天的交易價格自2005年:
- 在1mio。線
- 日期; TICKER;價格
- 20151231; A UN公平; 41.81
- 20151230; A UN公平; 42.17
20151229; A UN公平; 42.36 ...
data_prices = "data_prices.csv" data_ancment = "data_static.csv" with open(data_ancment, 'rt') as a, open(data_prices, 'rt') as b: reader1 = csv.reader(a, delimiter=';') reader2 = csv.reader(b, delimiter=';') for row2 in reader2: for row1 in reader1: if row1[0] == row2[0]: print(row2[2])
我不知道是否可以這樣做,因爲文件很大,或者如果numpy或pandas是更好/更快的選項。
在此先感謝您的任何提示。
我認爲它應該是:'pd.merge(價格,ancment,left_on = [ 'TICKER', '公佈DATES'],right_on = [ 'TICKER', '日期'])'因爲將最有可能的數據爲兩個文件中的多個代號... – MaxU
@MaxU:我會假設,但給定OP中的代碼片段,看起來不像他們要做什麼。 – fuglede