如何運(yùn)用python讀寫(xiě)CSV文件
1、使用基礎(chǔ)Python代碼來(lái)讀寫(xiě)和處理CSV文件
import sys #使用基礎(chǔ)Python代碼來(lái)讀寫(xiě)和處理CSV文件 input_file = sys.argv[1] output_file = sys.argv[2] with open(input_file, 'r', newline='') as filereader: with open(output_file, 'w', newline='') as filewriter: header = filereader.readline() header = header.strip() header_list = header.split(',') print(header_list) #map 函數(shù)將 str 函數(shù)應(yīng)用于 header_list 中的每個(gè)元素, #確保每個(gè)元素都是字符串。然后, #join 函數(shù)在 header_list 中的每個(gè)值之 間插入一個(gè)逗號(hào),將這個(gè)列表轉(zhuǎn)換為一個(gè)字符串 filewriter.write(','.join(map(str,header_list))+'\n') for row in filereader: row = row.strip() row_list = row.split(',') print(row_list) filewriter.write(','.join(map(str,row_list))+'\n')
說(shuō)明:map 函數(shù)將 str 函數(shù)應(yīng)用于 header_list 中的每個(gè)元素,確保每個(gè)元素都是字符串。然后,
join 函數(shù)在 header_list 中的每個(gè)值之 間插入一個(gè)逗號(hào),將這個(gè)列表轉(zhuǎn)換為一個(gè)字符串。
執(zhí)行:
2、使用pandas讀寫(xiě)和處理CSV文件
#使用pandas讀寫(xiě)和處理CSV文件 import pandas as pd input_file = sys.argv[1] output_file = sys.argv[2] #data_frame:數(shù)據(jù)框也是存儲(chǔ)數(shù)據(jù)的一種方式。 #數(shù)據(jù)框中保留了“表格”這種數(shù)據(jù)組織方式,不需要使用列表套列表的方式來(lái)分析數(shù)據(jù) data_frame = pd.read_csv(input_file) print(data_frame) data_frame.to_csv(output_file, index=False)
說(shuō)明:data_frame:數(shù)據(jù)框也是存儲(chǔ)數(shù)據(jù)的一種方式。數(shù)據(jù)框中保留了“表格”這種數(shù)據(jù)組織方式,不需要使用列表套列表的方式來(lái)分析數(shù)據(jù)。
執(zhí)行:
3、使用內(nèi)置csv讀寫(xiě)和處理CSV文件
#使用內(nèi)置csv讀寫(xiě)和處理CSV文件,用于正確 處理數(shù)據(jù)值中的嵌入逗號(hào)和其他復(fù)雜模式的 import csv import sys input_file = sys.argv[1] output_file = sys.argv[2] with open(input_file, 'r', newline='') as csv_in_file: with open(output_file, 'w', newline='') as csv_out_file: #創(chuàng)建文件讀對(duì)象 #第二個(gè)參數(shù)(就是 delimiter=',') 是默認(rèn)分隔符, #所以如果你的輸入文件和輸出文件都是用逗號(hào)分隔的,就不需要指定這個(gè) 參數(shù) filereader = csv.reader(csv_in_file, delimiter=',') #創(chuàng)建文件寫(xiě)對(duì)象 filewriter = csv.writer(csv_out_file, delimiter=',') for row_list in filereader: print(row_list) filewriter.writerow(row_list)
說(shuō)明:第二個(gè)參數(shù)(就是 delimiter=',') 是默認(rèn)分隔符,所以如果你的輸入文件和輸出文件都是用逗號(hào)分隔的,就不需要指定這個(gè)參數(shù)。
執(zhí)行:
到此這篇關(guān)于如何運(yùn)用python讀寫(xiě)CSV文件的文章就介紹到這了,更多相關(guān)python讀寫(xiě)CSV文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python yield和Generator函數(shù)用法詳解
這篇文章主要介紹了python yield和Generator函數(shù)用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Pytorch backward報(bào)錯(cuò)2次訪問(wèn)計(jì)算圖需要retain_graph=True的情況詳解
這篇文章主要介紹了Pytorch backward報(bào)錯(cuò)2次訪問(wèn)計(jì)算圖需要retain_graph=True的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02詳解Python 實(shí)現(xiàn) ZeroMQ 的三種基本工作模式
ZMQ是一個(gè)簡(jiǎn)單好用的傳輸層,像框架一樣的一個(gè) socket library,他使得 Socket 編程更加簡(jiǎn)單、簡(jiǎn)潔和性能更高。 ,這篇文章主要介紹了Python 實(shí)現(xiàn) ZeroMQ 的三種基本工作模式,需要的朋友可以參考下2020-03-03python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)
正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。這篇文章主要介紹了python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù),需要的朋友可以參考下2017-11-11基于python實(shí)現(xiàn)獲取網(wǎng)頁(yè)圖片過(guò)程解析
這篇文章主要介紹了基于python實(shí)現(xiàn)獲取網(wǎng)頁(yè)圖片過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python實(shí)現(xiàn)的FTP通信客戶端與服務(wù)器端功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的FTP通信客戶端與服務(wù)器端功能,涉及Python基于socket的端口監(jiān)聽(tīng)、文件傳輸?shù)认嚓P(guān)操作技巧,需要的朋友可以參考下2018-03-03python實(shí)現(xiàn)根據(jù)窗口標(biāo)題調(diào)用窗口的方法
這篇文章主要介紹了python實(shí)現(xiàn)根據(jù)窗口標(biāo)題調(diào)用窗口的方法,涉及Python操作窗口的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-0310個(gè)易被忽視但應(yīng)掌握的Python基本用法
這篇文章主要介紹了10個(gè)易被忽視但應(yīng)掌握的Python基本用法,如字典推導(dǎo)、內(nèi)省工具等,主要針對(duì)Python3版本,需要的朋友可以參考下2015-04-04