pythoncsv文件的操作_python操作CSV文件
概念:CSV是逗號分隔值或者字符分割值,其文件以純文本形式存儲表格數據。CSV文件可以用文本文件或者轉換成EXCEL(直接用EXCEL也可以,但是可能會有一些問題)打開。因此更適合通過CSV文件進行程序之間轉移表格數據。
應用場景:需要進行取數分析(將數據庫數據拉取下來給產品)、保存爬蟲數據時,借助CSV文件更便利一些,同時也可以用該文件記錄腳本的操作日志。
下面演示如何通過Python進行CSV文件的讀寫操作。
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', 'zhangsan', '13600000001'])
writer.writerow(['02', 'lisi', '13600000002'])
writer.writerow(['03', 'wangwu', '13600000003'])
用記事本打開可以看到如下內容,默認每行數據之間是通過逗號隔開的(可以再理解一下這個Comma-Separated Values)
實例1-1.png
用EXCEL打開的話,數據長這樣
實例1-2.png
emmmm,讓我們把每行下面的空格去掉,加上newline參數
import csv
with open('test.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', 'zhangsan', '13600000001'])
writer.writerow(['02', 'lisi', '13600000002'])
writer.writerow(['03', 'wangwu', '13600000003'])
看,空格沒有了!
實例2-1.png
如果想用其它符號代替數據間的逗號,設置delimiter參數
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f, delimiter = '-')
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', 'zhangsan', '13600000001'])
writer.writerow(['02', 'lisi', '13600000002'])
writer.writerow(['03', 'wangwu', '13600000003'])
實例3-1.png
還有一種實現方式,先寫入表頭,再用writerows插入數據
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerows([['01', 'zhangsan', '13600000004'],['02', 'lisi', '13600000005'],['03', 'wangwu', '13600000006']])
實例4-1.png
或者將表頭抽離出來,通過字典的方式寫入
with open('test.csv', 'w') as f:
header = ['id', 'name', 'phone']
writer = csv.DictWriter(f, fieldnames=header)
writer.writeheader()
writer.writerow({'id': '01', 'name': 'zhangsan', 'phone': '13600000007'})
writer.writerow({'id': '02', 'name': 'lisi', 'phone': '13600000008'})
writer.writerow({'id': '03', 'name': 'wangwu', 'phone': '13600000009'})
實例5-1.png
還可以用for循環將數據依次寫入
import csv
data = [
("zhangsan",'13600000001'),
("lisi",'13600000002'),
("wangwu",'13600000003')
]
with open('test.csv','w') as f:
writer = csv.writer(f)
for i in data:
writer.writerow(i)
如果需要寫入中文數據,為了避免編碼錯誤,文件操作時加上編碼格式
import csv
with open('test.csv', 'w', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['id', 'name', 'phone'])
writer.writerow(['01', '張三', '13600000001'])
writer.writerow(['02', '李四', '13600000002'])
writer.writerow(['03', '王五', '13600000003'])
文件讀取操作
import csv
with open('test.csv','r',encoding = 'utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
實例6-1.png
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的pythoncsv文件的操作_python操作CSV文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php的实体字符表,php htmlsp
- 下一篇: python中的zip是什么意思_Pyt