我有一个未完全格式化的文本文件,但它已指定列。
Code Description Unit Retail
1000MADB90 Taupe 2X2 12X12 5.90
1002MOPAS Grey Stilato 12X12 12.09
然后是一些垃圾,然后再次
Code Description Unit Retail
1050QADD Black 2X2 12X12 2.12
1002MOPAS Red velvet 12X12 1.11
我需要能够在csv文件中格式化它,并且之前和之后都没有垃圾。所以,我想在它们之后保留列名和信息,直到它遇到垃圾并跳转到以Code开头的另一列。我已经尝试了一些(12个准确的)在stackeroverflow上找到的例子,但似乎无法得到它,因为它是为Excel(csv)之类的格式化。此外,文本文件中的列的大小和对齐方式也不尽相同(如果重要的话,请注意dunno)
我不是程序员,但我正在寻找一种简单的方法来转换目录以在POS系统中输入它。我很感激帮助
答案 0 :(得分:1)
一种简单的方法(如果您知道识别垃圾的简单方法):
with open('originalfile.csv','r') as f:
with open('newfile.csv','w') as new_file:
for row in f:
if not is_junk(row):
new_file.write(row)
def is_junk(row):
return not row.strip() or ( not ( ("Retail" in row ) or is_float(row.split()[-1]) ) )
def is_float(str):
try:
float(str)
return True
except ValueError:
return False