Как игнорировать пустые столбцы в файле .csv при использовании readline () в четырех циклах с Python? - PullRequest
1 голос
/ 27 октября 2019

Я видел похожие вопросы для других языков, но в Python я не видел. По сути, у меня есть функция, которая просматривает строки в файле .csv, чтобы получить данные в виде списков. Он разбивается на каждый столбец, который читается как запятая.

Мой вопрос состоит в том, что в файле есть два пустых столбца, мой вопрос заключается в том, как сделать так, чтобы цикл for игнорировал пустые столбцы, или, как альтернатива, я должен раздеться/ удалить пустые списки?

это моя текущая функция для чтения из файла.

    def read_file_lines(my_file):
"""This function will read user file to list"""
my_list = []
for line in my_file:
    line = my_file.readline()
    my_list.append(line)
return my_list

output:
['AAPL', '2/6/12', '58.064457', '', '']
['AAPL', '9/1/15', '100.91523', '', '']
['AAPL', '5/12/09', '15.570792', '', '']
['MSFT', '5/15/17', '65.6707', '', '']
['MSFT', '6/21/10', '20.752356', '', '']
['AAPL', '2/14/18', '164.227203', '', '']
['IBM', '12/26/17', '142.835663', '', '']
['AAPL', '4/17/09', '15.445643', '', '']
['MSFT', '4/2/09', '15.037685', '', '']
['IBM', '8/3/18', '140.947739', '', '']
['AAPL', '9/21/09', '23.029552', '', '']

1 Ответ

0 голосов
/ 27 октября 2019

Рассмотрите возможность использования синтаксического анализатора CSV, такого как тот, который включен в стандартную библиотеку Python - документы здесь: https://docs.python.org/3/library/csv.html

После загрузки определенной строки вы можете манипулировать ею так же, как и любым другим списком Python:

import csv

list = []
for row in csv.reader(my_file):
   row = row[:-2]  # remove last two columns
   my_list.append(row)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...