網(wǎng)站首頁 編程語言 正文
1. 讀取CSV文件 csv.reader()
該方法的作用相當于就是通過 ','
分割csv格式的數(shù)據(jù),并將分割好的每行數(shù)據(jù)存入列表中,并且還去除了每行最后分割產(chǎn)生的數(shù)據(jù)尾部的空格、換行符、制表符等等。
import csv with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File: # 使用csv.reader()將文件中的每行數(shù)據(jù)讀入到一個列表中 reader = csv.reader(File, delimiter=',', quotechar=',', quoting=csv.QUOTE_MINIMAL) # 遍歷列表將數(shù)據(jù)按行輸出 for row in reader: print(row)
直接通過 索引 來訪問每行數(shù)據(jù)的列元素
for row in reader: print(row[0])
csv.DictReader()
該方法將文件中的每行數(shù)據(jù)保存在 OrderedDict 中,此數(shù)據(jù)類型類似于嵌套著元組的列表,每個元組中的第一個元素為鍵,第二個元素為值,其中元組中的鍵來自于CSV數(shù)據(jù)中的表頭信息。
import csv results = [] with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File: reader = csv.DictReader(File) for row in reader: print(row)
通過鍵值來讀取部分信息
for row in reader: print(row['MakeSpan'],row['WaitTime'])
關于DictReader()的更多內(nèi)容尚未學習整理,如有需要可參考其他文章:CSV.DictReader()方法
2. 寫入CSV文件
首先需要導入讀寫csv需要用的包:
import csv
使用open()函數(shù)打開一個文件,open()函數(shù)常用的參數(shù):
- file:文件路徑、文件名
- mode:打開模式,r(只讀),w(只寫),a(追加模式)
-
newline:每行之間是否存在空行,默認存在空行,
' '
:沒有空行。
myFile = open('example2.csv', 'w', newline='')
csv.writer模塊,用于將數(shù)據(jù)寫入CSV:
-
csvfile:這 能夠 是帶有
write()
方法的任何對象。 - dialect=‘excel’:一個可選參數(shù),用于定義特定于特定CSV的一組參數(shù)。
- fmtparam:可選參數(shù),可用于覆蓋現(xiàn)有的格式設置參數(shù)。
writer = csv.writer(myFile)
使用writerow()和writerows()將數(shù)據(jù)寫入到CSV文件中:
- writerow():將數(shù)據(jù)存到csv文件中的一行里,每個元素占用一個單元格
- writerows():將數(shù)據(jù)中的每一個列表存到CSV文件中的一行里,列表中每個元素占用一個單元格
myData1 = [["這", "是", "writerow", "的", "效", "果"], ["這", "是", "writerow", "的", "效", "果"], ["這", "是", "writerow", "的", "效", "果"]] myData2 = [["這", "是", "writerows", "的", "效", "果"], ["這", "是", "writerows", "的", "效", "果"], ["這", "是", "writerows", "的", "效", "果"]] myFile = open('example2.csv', 'w', newline='') with myFile: writer = csv.writer(myFile) writer.writerow(myData1) writer.writerows(myData2)
寫入文件后的效果如下所示:
原文鏈接:https://blog.csdn.net/qq_33021529/article/details/125467793
相關推薦
- 2022-10-29 python實現(xiàn)k均值聚類(kMeans)基于numpy
- 2022-09-14 Flutter?iOS開發(fā)OC混編Swift動態(tài)庫和靜態(tài)庫問題填坑_Swift
- 2022-11-02 Pytorch中DataLoader的使用方法詳解_python
- 2022-03-26 C++實現(xiàn)關機功能詳細代碼_C 語言
- 2022-03-14 Token跨域問題Response to preflight request doesn‘t pas
- 2022-05-13 python list.sort()方法排序一探究竟
- 2021-11-18 C/C++?Qt?TableDelegate?自定義代理組件使用詳解_C 語言
- 2022-12-03 pytorch模型保存與加載中的一些問題實戰(zhàn)記錄_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支