問題:
在Python 中,正在處理CSV ,但第一行(標題行)正在被修改而不是被排除。
有問題的程式碼:
<code class="python">in_file = open("tmob_notcleaned.csv", "rb") reader = csv.reader(in_file) out_file = open("tmob_cleaned.csv", "wb") writer = csv.writer(out_file) row = 1 for row in reader: # Row processing logic in_file.close() out_file.close()</code>
問題:
將'row' 變數初始化為1 不會初始化為1 不會初始化為1 不會初始化為1 不會初始化為1阻止處理標題行。
解決方案:
要跳過標題行,請使用next() 函數將讀取器推進一項可迭代。在這種情況下,next()的回傳值可以被忽略。
修改程式碼:
<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file: reader = csv.reader(in_file) next(reader, None) # Skip the header row writer = csv.writer(out_file) for row in reader: # Row processing logic</code>
替代選項:
如果輸出檔案中需要標題行,可以在循環循環之前將其傳遞給writer.writerow():
<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file: reader = csv.reader(in_file) headers = next(reader, None) # Returns the header row or None if the input is empty if headers: writer.writerow(headers) for row in reader: # Row processing logic</code>
以上是為什麼我的 Python 程式碼處理 CSV 檔案中的標題行而不是跳過它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!