我正在使用python3.5
导入我的csv文件后,我想要这些操作: IN:
ULIM LLIM High Low CLO $RNG U-OCT MID L-OCT
-------------------------------------------
12785 125300 127840 127500 127475 1275 127532 126575 125618
OUT:
Dir ULIM LLIM High Low CLO $RNG U-OCT MID L-OCT Test
----------------------------------------------------
S 12785 125300 127840 127500 127475 1275 127532 126575 125618 T
添加两个新Colums:方向和测试
在U-OCT到ULIM范围或L-OCT到LLIM范围值内的T = IF CLO或高或低值 否则没有条目
如果CLO高于MID,则S = L,如果CLOS低于MID,则S =
这是我想要学习/需要帮助的地方:
我不知道如何进行比较部分并在新的两个列中添加结果。 (数组?) 我不知道如何为整个csv表做这个(循环?)
答案 0 :(得分:0)
您可以迭代每一行并检查检索到的字典,如下所示:
import csv
output = open('csv_file_out.txt', 'w')
with open('csv_file.txt') as csvfile:
reader = csv.DictReader(csvfile, delimiter=' ')
writer = csv.writer(output, delimiter=' ')
T = False
S = 'S'
for i, row in enumerate(reader):
if i > 0:
if row['CLO'] > row['MID']:
S = 'L'
if row['U-OCT'] <= row['CLO'] <= row['ULIM']:
T = True
writer.writerow([S, row['CLO'], row['ULIM'], row['LLIM'], 'T' if T else ''])
您必须根据需要更新规则。另外,你可以为writer.writerow()找到更清晰的方法,但我并不熟悉。