Pandas讀取csv的實現(xiàn)
對于文件的操作中,讀寫csv操作是一個比較常見的操作,很多時候可能會選擇使用python中的文件讀取的方式對csv文件操作,這種方式并沒有什么問題,但讀寫的效率不高,編寫的代碼量也偏多。
這里介紹使用pandas進(jìn)行簡單的讀。寫也基本類似。
一、Pandas讀取表頭:
使用pandas讀取表頭很簡單,一行代碼搞定,如下:
# 讀取表頭
head_row = pd.read_csv('123.csv', nrows=0)
這一行代碼讀取的是一個對象,如果要以列表形式輸出,可以增加如下一行代碼:
# 表頭列轉(zhuǎn)為 list
head_row_list = list(head_row)
二、讀取具體數(shù)據(jù):
以文件讀取的方式讀取具體數(shù)據(jù),需要的代碼量比較多,也需要做循環(huán)遍歷,使用pandas操作如下:
# 讀取
csv_result = pd.read_csv('123.csv', usecols=head_row_list)
row_list = csv_result.values.tolist()
print(f"行讀取結(jié)果:{row_list}")
上面展示的是打印行讀取的結(jié)果。使用pandas,還可以很方便的將行轉(zhuǎn)換為列,并打印出行轉(zhuǎn)列的結(jié)果,如下代碼段:
col_obj = csv_result.T
col_list = col_obj.values.tolist()
print(f"行轉(zhuǎn)列讀取結(jié)果:{col_list}")
return head_row_list, col_list
完整的代碼如下:
import pandas as pd
?
?
def csv_file_read():
? ? # 讀取表頭
? ? head_row = pd.read_csv('123.csv', nrows=0)
? ? print(list(head_row))
? ? # 表頭列轉(zhuǎn)為 list
? ? head_row_list = list(head_row)
?
? ? # 讀取
? ? csv_result = pd.read_csv('123.csv', usecols=head_row_list)
? ? row_list = csv_result.values.tolist()
? ? print(f"行讀取結(jié)果:{row_list}")
? ? col_obj = csv_result.T
? ? col_list = col_obj.values.tolist()
? ? print(f"行轉(zhuǎn)列讀取結(jié)果:{col_list}")
? ? return head_row_list, col_list
?
?
?
if __name__ == '__main__':
? ? csv_file_read()是不是很簡單,十幾行代碼即可搞定。
到此這篇關(guān)于Pandas讀取csv的實現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas讀取csv內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python隨機模塊random的22種函數(shù)(小結(jié))
這篇文章主要介紹了python隨機模塊random的22種函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
python在pyqt5+logging+threading模塊實時顯示日志代碼示例
這篇文章主要介紹了如何使用Python的PyQt5和logging模塊來實現(xiàn)日志的實時打印到界面上,避免主程序運行時界面卡住,文章還提到了在執(zhí)行過程中可能遇到的異常及解決方法,需要的朋友可以參考下2024-11-11
python面向?qū)ο髮崿F(xiàn)名片管理系統(tǒng)文件版
這篇文章主要為大家詳細(xì)介紹了python面向?qū)ο髮崿F(xiàn)名片管理系統(tǒng)文件版,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04

