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的属性理解我和博主不一样,不确定是不是这个原因。

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