天天看點

python實作批量去掉csv字段裡的換行符,使得一條記錄在一行,不會被截斷為多行

CSV(excel)字段中有換行符導緻一條記錄被截斷成多行,各個字段的行數總是對應不上,下面的python腳本就是為了去掉換行符進而實作不被截斷成多行:

import os
import csv
import pandas as pd

sPath = "C:/Users/1/"  # 要處理的檔案所在目錄

for root, dirs, files in os.walk(sPath):#可以處理批量檔案
    for fn in files:
        final = [];
        if fn[-4:] == '.csv':

            with open(sPath + fn, 'rt', encoding="utf-8") as csvfile:
                spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')

                for row in spamreader:
                    tmp_row = []
                    for col_idx in range(0,len(row)):
                        if isinstance(row[col_idx], str):
                            row[col_idx] = row[col_idx].replace("\n", "")

                        tmp_row.append(row[col_idx])

                    final.append(tmp_row)


            df = pd.DataFrame(final, columns=['one','two'])
            print(df)
            df.to_csv('df.csv', encoding="utf-8")