花事CSV行如果我有幾個CSV文件如下:使用CSV讀者看完上面的CSV文件後的Python:使用條件
a,1,2,3
type, max, min, avg
b,4,5,6
<empty line>
c,6,7,8
xxx,4,3,2
d,5,6,7
,如何將數據使用xlwt模塊轉儲到一個新的xls文件但排列方式如下: - 將標題寫入第一行(該行始終具有'type'作爲第一項。) - 忽略空行 - 忽略第一項爲'xxx'的任何行
我試着用下面的代碼,但空行不消失。 :(
for filename in glob.glob(p):
(f_path, f_name) = os.path.split(filename)
(f_short_name, f_extension) = os.path.splitext(f_name)
ws = wb.add_sheet(str(f_short_name))
spamReader = csv.reader(open(filename, 'rb'))
for row in spamReader:
pass_count = 0
if 'type' in row[0]:
for col in range(len(row)):
ws.write(0,col,convert(row[col]))
else:
if (((row[0] == 'xxx') or (row[0] == ' ')):
pass_count += 1
pass
else:
for col in range(len(row)):
ws.write(row_count,col,convert(row[col]))
row_count = row_count+1-pass_count
wb.save(q)
編輯:。 傢伙,道歉與初始CSV數據誤導我的CSV數據文件犯規包含任何空行,是一個包含空行,即最後的xls文件的最終產品。空線的假想row[0] - 'type'
恰好發生 另外,我有集成,其防止被覆蓋LINE1一個代碼
例如 輸入:。
a,1,2,3
type, max, min, avg
b,4,5,6
c,6,7,8
xxx,4,3,2
d,5,6,7
OUTP UT XLS:
type, max, min, avg
<empty line>
a,1,2,3
b,4,5,6
c,6,7,8
d,5,6,7
這裏,報頭被寫入到第一行,包含「xxx」被忽略,但是,空行線發生在ROW2是線與行[0] =「類型」從所述位置輸入文件。這是理由,爲什麼我帶`pass_count'來跳過這條線,但似乎沒有到達某個地方。
通過遞減row [0] =='type'嵌套中的row_count計數器來找到解決方案。 :)謝謝大家! – siva 2011-05-19 17:00:10