处理csv中的空值和行

  • 本文关键字:空值 csv 处理 python csv
  • 更新时间 :
  • 英文 :


我有一个csv文件,里面有列:零件号、名称、重量、宽度、高度、长度、价格。

零件号、名称和价格是强制性值。有一些空行,如";;;;"我可以在阅读文件时跳过它们。但是有些行没有"name"或"price"值。我怎样才能跳过它们?

def get_part_list(csv_filename):
part_list = []
with open(csv_filename) as csv_fd:
reader = csv.reader(csv_fd, delimiter=';')
next(reader)
try:
for row in reader:
if (row is not None) and (row[1] is not None) and (row[6] is not None):
part_list.append(row)
except (IndexError, ValueError):
next(reader)
return part_list

正如我在开头所写的,我得到了一个没有空行的列表,但有些行有空的"名称"one_answers"价格",比如:

12345,,10 kg,,,,145.00
789,spindle,0.5kg,,,,,

您需要用,分割每一行才能使用您的订阅:

with open('f.txt', 'r') as f:
rows = [row for row in f if row]
part_list = []
for row in rows:
row = row.split(',')
try:
if row[1] and row[6]:
part_list.append(row)
except (IndexError, ValueError):
pass

最新更新