Pandas讀取csv的實現(xiàn)
對于文件的操作中,讀寫csv操作是一個比較常見的操作,很多時候可能會選擇使用python中的文件讀取的方式對csv文件操作,這種方式并沒有什么問題,但讀寫的效率不高,編寫的代碼量也偏多。
這里介紹使用pandas進行簡單的讀。寫也基本類似。
一、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()
是不是很簡單,十幾行代碼即可搞定。
到此這篇關于Pandas讀取csv的實現(xiàn)的文章就介紹到這了,更多相關Pandas讀取csv內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python將二維數(shù)組升為一維數(shù)組或二維降為一維方法實例
在實際應用的過程中,遇到列表或是數(shù)組的維數(shù)不同,需要變換的問題,如二維列表/數(shù)組變成了一維列表/數(shù)組,下面這篇文章主要給大家介紹了關于python將二維數(shù)組升為一維數(shù)組或二維降為一維的相關資料,需要的朋友可以參考下2022-11-1120個Python?random模塊常用函數(shù)的應用與代碼示例
隨機數(shù)在計算機科學和數(shù)據(jù)科學領域中扮演著重要角色,Python的標準庫中提供了random模塊,用于生成各種隨機數(shù),本文將深入探討random模塊的各種函數(shù),以及它們的應用場景和代碼示例,需要的可以參考下2024-03-03python sort、sorted高級排序技巧分享(key的使用)
這篇文章主要介紹了python sort、sorted高級排序技巧(key的使用),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03