我在其他语言中看到过类似的问题,但在 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', '', '']
最佳答案
考虑使用 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)
关于python - 在 Python 的四循环中使用 readline() 时,如何忽略 .csv 文件中的空列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58575423/