網站首頁 編程語言 正文
1. 讀取CSV文件 csv.reader()
該方法的作用相當于就是通過 ','
分割csv格式的數據,并將分割好的每行數據存入列表中,并且還去除了每行最后分割產生的數據尾部的空格、換行符、制表符等等。
import csv with open('data.csv',mode='r',encoding='utf-8-sig',newline='') as File: # 使用csv.reader()將文件中的每行數據讀入到一個列表中 reader = csv.reader(File, delimiter=',', quotechar=',', quoting=csv.QUOTE_MINIMAL) # 遍歷列表將數據按行輸出 for row in reader: print(row)
直接通過 索引 來訪問每行數據的列元素
for row in reader: print(row[0])
csv.DictReader()
該方法將文件中的每行數據保存在 OrderedDict 中,此數據類型類似于嵌套著元組的列表,每個元組中的第一個元素為鍵,第二個元素為值,其中元組中的鍵來自于CSV數據中的表頭信息。
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()的更多內容尚未學習整理,如有需要可參考其他文章:CSV.DictReader()方法
2. 寫入CSV文件
首先需要導入讀寫csv需要用的包:
import csv
使用open()函數打開一個文件,open()函數常用的參數:
- file:文件路徑、文件名
- mode:打開模式,r(只讀),w(只寫),a(追加模式)
-
newline:每行之間是否存在空行,默認存在空行,
' '
:沒有空行。
myFile = open('example2.csv', 'w', newline='')
csv.writer模塊,用于將數據寫入CSV:
-
csvfile:這 能夠 是帶有
write()
方法的任何對象。 - dialect=‘excel’:一個可選參數,用于定義特定于特定CSV的一組參數。
- fmtparam:可選參數,可用于覆蓋現有的格式設置參數。
writer = csv.writer(myFile)
使用writerow()和writerows()將數據寫入到CSV文件中:
- writerow():將數據存到csv文件中的一行里,每個元素占用一個單元格
- writerows():將數據中的每一個列表存到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-04-05 解決IDEA .properties文件中文亂碼的問題
- 2022-10-01 使用C++實現插件模式時的避坑要點(推薦)_C 語言
- 2022-06-22 React?數據共享useContext的實現_React
- 2022-04-01 簡單聊聊C++中回調函數的實現_C 語言
- 2022-09-17 Python中re.findall()用法詳解_python
- 2023-01-07 Flutter?Widget開發之Focus組件圖文詳解_Android
- 2023-06-17 python?__init__與?__new__的區別_python
- 2022-06-12 python將Dataframe格式的數據寫入opengauss數據庫并查詢_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支