python3讀取csv文件並操作數據寫出csv

無他,紀念自己寫的第一個python代碼。
背景:csv文件有30000行,11列,需要對其每一個單元格內容進行操作(在數據前後加引號,如A—>“A”),最後將處理後的數據寫出到csv文件。
分析:
如果數據量較少,比如30行10列,excel自帶功能即可完成此操作,具體操作如下:
關鍵在於理解EXCEL中(&) 運算符的用法。即:使用與號 (&) 運算符以將多個單元格中的文本(例如名字和姓氏)合併到一個單元格中。相當於函數CONCATENATE(),但要更加靈活。
例:添加雙引號
在B1單元格中輸入“=""""&A1&""""”, 其中EXCEL規定,一對雙引號""爲文本定界符,而兩對雙引號則相當於外面兩個雙引號爲文本界定符,裏面兩個雙引號相當於一個雙引號。因而實現了在字符串前後添加雙引號的效果。
其它標點符號或字符的添加原理一樣。
但是我的數據量比較大,使用上述操作太麻煩費時了,因此決定採用python寫個轉換代碼,代碼如下:

import pandas as pd
def tet(self) :
    self = '"' + str(self) + '"'
    return self
csv_data = pd.read_csv("D:/tools/canid_33.csv", dtype=str)
df = csv_data.applymap(tet)
print(df)
df.to_csv("D:/tools/back.csv", index=False, header=False, encoding='utf-8')

補充:
剛開始參考的是這個代碼:pandas中dataframe的to_csv怎麼輸出帶引號的字符串
但是,尷尬了,這段代碼運行並沒有達到我預期的效果。而且暫時也不知道爲啥。。麻煩路過大佬可以指導菜鳥一下,不勝感激。
ps:quoting的屬性理解我和博主不一樣,不確定是不是這個原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章