我有一个python脚本导入MatPlotLib并绘制股票价格。
import sys
import matplotlib.pyplot as plt
vals = [float(line.split(',')[7]) for line in sys.stdin]
plt.plot(vals)
plt.title('Stock Price Data')
plt.ylabel('Adjusted Closing Price')
plt.xlabel('Trading Day')
plt.show()
我想通过导入名为2015_goog_sorted.csv(2015年Google股票价格,已排序)的文件作为要排序的值,在终端中运行此脚本。
我在Mac上使用Atom
我在使用unix和终端学习命令的过程中,但我知道应该有一个相对简单的方法来做到这一点。
提前致谢:)
答案 0 :(得分:0)
1 import csv
2
3 with open('test.csv','r') as f:
4 a = csv.reader(f)
5 for row in a:
6 print(row)
输出
wirelessprv-10-194-17-39:python Bobby$ python3 te.py
['1', '1', '1', '1']
['2', '2', '2', '2']
你可以对行做任何事情
答案 1 :(得分:0)
如果您只是想按原样运行脚本,可以硬编码输入文件的路径:
import sys
import matplotlib.pyplot as plt
import csv
with open('/path/to/2015_goog_sorted.csv', 'r') as f:
reader = csv.reader(f)
vals = [float(row[7]) for row in reader]
plt.plot(vals)
plt.title('Stock Price Data')
plt.ylabel('Adjusted Closing Price')
plt.xlabel('Trading Day')
plt.show()
如果您想使用unix样式管道发送输入,您可以执行以下操作:
import sys
import matplotlib.pyplot as plt
import csv
reader = csv.reader(sys.stdin)
vals = [float(row[7]) for row in reader]
plt.plot(vals)
plt.title('Stock Price Data')
plt.ylabel('Adjusted Closing Price')
plt.xlabel('Trading Day')
plt.show()