В Python я бы рекомендовал использовать Pandas для операций такого типа.
Сначала изолируйте данные CSV. Тогда относитесь к нему как к ручью. Я отбрасываю часть вашего образца как x
:
# This is python3 code
# first treat string as though it is a file
import io
x = io.StringIO("""Symbol,Market,Description,Quantity,Average Cost,Price,Book Cost,Market Value,Unrealized $,Unrealized %,% of Positions,Loan Value,Change Today $,Change Today %,Bid,Bid Lots,Ask,Ask Lots,Volume,Day Low,Day High,52-wk Low,52-wk High
AFL,US,"AFLAC INC",500,43.79,39.23,21895.79,19615.00,-2280.79,-10.42,7.26,,1.4399986,3.81,39.19,1,40.2,1,3001288,38.31,39.48,23.07,57.18
AKTS,US,"AKOUSTIS TECHNOLOGIES INC",2500,5.04,8.94,12609.87,22350.00,9740.13,77.24,8.27,,0.35999966,4.20,8.68,1,9.2,10,1161566,8.65,9.25,3.76,9.25""")
Затем используйте pandas, чтобы прочитать строку как CSV, обрабатывая первую строку как заголовки по умолчанию:
import pandas as pd
df = pd.read_csv(x)
Затем выберите нужные столбцы, передав список имен столбцов во фрейм данных:
new_df = df[['Book Cost', 'Market Value', 'Unrealized $', 'Unrealized %','% of Positions','52-wk Low', '52-wk High']]
Book Cost Market Value Unrealized $ Unrealized % % of Positions \
0 21895.79 19615.0 -2280.79 -10.42 7.26
1 12609.87 22350.0 9740.13 77.24 8.27
52-wk Low 52-wk High
0 23.07 57.18
1 3.76 9.25
Наконец, вы можете сохранить его:
new_df.to_csv('test.csv', index=False) # Turn off indexing
И вы набор:
Book Cost,Market Value,Unrealized $,Unrealized %,% of Positions,52-wk Low,52-wk High
21895.79,19615.0,-2280.79,-10.42,7.26,23.07,57.18
12609.87,22350.0,9740.13,77.24,8.27,3.76,9.25