首页
/
每日頭條
/
科技
/
python如何打開csv數據
python如何打開csv數據
更新时间:2024-04-29 00:15:48

Comma Separated Values,簡稱csv,它是一種以逗号分隔數值的文件類型。在數據庫或電子表格中,它是最常見的導入導出格式,它以一種簡單而明了的方式存儲和共享數據,CSV文件通常以純文本的方式存儲數據表。今天,我将給大家分享在Python中如何操作CSV文件。

一、數據源

首先,我們來看看本次操作的數據源,圖1 CSV文件是在Excel中打開的,圖2 CSV文件是在Notepad 中打開的,我們在圖2中可以看到數值之間是以逗号隔開的,每行末尾是CR(回車符)和LF(換行符)(請注意,Linux系統以LF結尾,MacOS系統以CR結尾)。

python如何打開csv數據(CSV文件在Python中的幾種處理方式)1

圖1

python如何打開csv數據(CSV文件在Python中的幾種處理方式)2

圖2

二、使用Python基本語法讀寫CSV文件

使用基本語法讀取CSV文件中的數據大概思路是:獲取文件對象;讀取表頭;按逗号分隔符拆分表頭字段;使用for循環遍曆表中記錄數據,拆分後再次寫入另一張CSV文件中。詳細步驟和代碼如下所示:

Step 1:導入必要模塊,獲取輸入輸出文件路徑名。

import sys infile = sys.argv[1] outfile = sys.argv[2]

Step 2:使用open内置函數獲取文件對象。

with open(infile, "r", newline='') as fr, open(outfile, "w", newline='') as fw:

Step 3:使用文件對象的readline方法或者疊代器的next方法讀取表頭(文件對象是一個疊代器對象,支持疊代協議),使用str.split方法對表頭進行拆分(注意,要使用strip函數去掉尾部換行符)。

header = next(fr) header = header.strip() header_list = header.split(",")

Step 4:表頭拆分好後,我們需要将表頭寫入文件對象中(注意尾部需要添加一個換行符哦)。

fw.write(",".join(map(str, header_list)) "\n")

當然,上面的代碼也可以這麼寫:

print(*header_list, sep=",", file=fw)

Step 5:使用for循環遍曆表體數據,并将其拆分成列表寫入到另一個文件中。

for row in fr: row = row.strip() row_list = row.split(",") fw.write(",".join(map(str, header_list)) "\n")

以上步驟完成後,将代碼保存為csvrw.py,然後在命令提示符中輸入:

python csvrw.py inputfile.csv outputfile.csv

輸入輸出csv文件名稱以及腳本名稱請自定義,以上隻是舉例說明。

以上代碼如下:

python如何打開csv數據(CSV文件在Python中的幾種處理方式)3

三、使用csv模塊讀寫CSV文件

csv模塊是Python内置的一個模塊,它考慮了csv文件中的各種複雜情況,平時處理csv文件基本上使用此模塊,下面來看看該模塊處理csv文件的方式,步驟如下:

Step 1:首先,導入必要模塊,獲取輸入輸出文件路徑名。

import sys import csv infile = sys.argv[1] outfile = sys.argv[2]

Step 2:使用open函數獲取文件對象。

with open(infile, "r", newline='') as incsv, open(outfile, "w", newline='') as outcsv:

Step 3:使用csv模塊中的reader和writer函數分别獲取reader和writer對象。

freader = csv.reader(incsv, delimiter=",") fwriter = csv.writer(outcsv, delimiter=",")

Step 4:使用for循環語句讀取和寫入數據。

for rowlist in freader: fwriter.writerow(rowlist)

以上步驟完成後,在命令提示符中輸入相應命令即可(請參照示例<二>)

代碼如下:

python如何打開csv數據(CSV文件在Python中的幾種處理方式)4

四、使用pandas讀寫CSV文件

pandas庫是一個強大的數據處理和分析庫,使用pandas處理csv文件更簡單(請注意,pandas非内置庫,需要另行安裝),步驟如下:

Step 1:首先,導入必要模塊,獲取輸入輸出文件路徑名。

import sys import pandas as pd infile = sys.argv[1] outfile = sys.argv[2]

Step 2:使用pandas的read_csv方法将數據存儲到一個DataFrame對象中。

dataframe = pd.read_csv(infile)

Step 3:然後使用DataFrame的to_csv方法将其輸出到另一張csv表中。

dataframe.to_csv(outfile, index=False)

以上步驟完成後,在命令提示符中輸入相應命令即可(請參照<二>)

代碼如下:

python如何打開csv數據(CSV文件在Python中的幾種處理方式)5

OK,以上内容就是Python處理CSV文件的3種方式,内容比較簡單,感謝您的觀看!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
蘋果電腦死機怎麼處理
蘋果電腦死機怎麼處理
蘋果電腦死機怎麼處理?按住空格鍵左邊兩個鍵+esc,出現和Win上面一樣功能的系統應用管理器,強制退出程序,這個隻能解決在你使用程序時候電腦死機的情況,我來為大家科普一下關于蘋果電腦死機怎麼處理?以下内容希望對你有幫助!蘋果電腦死機怎麼處理...
2024-04-29
netsh
netsh
netsh?對着當前連接的網絡系統托盤圖标擊右鍵,可以是有線網絡或者是無線網絡,下面我們就來聊聊關于netsh?接下來我們就一起去了解一下吧!netsh對着當前連接的網絡系統托盤圖标擊右鍵,可以是有線網絡或者是無線網絡。在彈出的右鍵菜單中,...
2024-04-29
蔚來es6參數配置
蔚來es6參數配置
蔚來es6參數配置?車長為4850mm,軸距2900mm,大幅度提高了駕駛過程中的靈活性在車位的布局上面,蔚來ES6更改為5座布局,使得乘客在乘坐的空間上會比較舒适,今天小編就來聊一聊關于蔚來es6參數配置?接下來我們就一起去研究一下吧!蔚...
2024-04-29
上海地鐵今天恢複了嗎
上海地鐵今天恢複了嗎
上海市交通委發布乘坐市内公共交通等交通工具須知,明确乘坐市内公共交通等交通工具“乘客應體溫正常(<37.3℃)、随申碼為綠碼、有48小時内核酸檢測陰性證明”“須全程規範佩戴口罩”等要求。該須知自5月22日零時起施行,并将根據本市疫情防控情況...
2024-04-29
新手學電腦的入門基礎知識
新手學電腦的入門基礎知識
如今,手機已經成為我們生活中不可缺少的必需品,各種手機應用軟件的層出不窮,使得智能手機占據了互聯網的半壁江山,似乎手機無所不能了,平時,很多人覺得一手機在手便可以仗劍走天涯,但當我們走進職場,你就會發現,對于辦公而言,手機還是有很大的局限性...
2024-04-29
Copyright 2023-2024 - www.tftnews.com All Rights Reserved