'''寫:向csv中寫入內容
1.匯入 csv 模組
2.使用open開啟要操作的檔案,以寫入模式開啟 mode='w'
3.通過csv.writer(stream) ---> writer物件
4.使用writer物件向檔案中寫入內容:writerow(['','','']),writerows([,,])
5.關閉'''
import csv
# newline="" 去除csv的空行
with open('../files/cards1.csv', 'w',newline="") as csv_stream:
# 轉成writer
writer = csv.writer(csv_stream)
# 使用writer寫入列名
writer.writerow(['name', 'telephone', 'qq'])
# 寫入具體的內容
writer.writerows([('aa', '123456', '123456'), ('aa', '123456', '123456'), ('aa', '123456', '123456')])
print('寫入完畢!')
'''讀取: 從csv中讀取內容
1.匯入 csv 模組
2.使用open開啟要操作的檔案,以讀取模式開啟 mode='r'
3.通過csv.reader(stream) ---> reader物件
4.直接使用for...in 遍歷reader物件,每迴圈一次就是獲取csv中一行的內容
5.關閉
'''import csv
with open('../files/cards.csv') as read_stream:
reader = csv.reader(read_stream)
for line in reader:
print(line) # line就是乙個列表
'''
使用臨時的記憶體運算元據:
1. stringio 字串
2. bytesio 位元組
input ----》 read
output ----》 writer
'''# string
# import csv
import io
# python給我開闢一塊記憶體專門存放字串,還可以從這塊記憶體中讀和寫
sio = io.stringio()
sio.write('hello world哈哈哈哈')
sio.write('hello kitty')
sio.flush()
# 讀取內容,但是記憶體中使用read() readline() readlines() 都無法獲取內容
content = sio.read()
print(content)
# 使用getvalue()獲取內容
content = sio.getvalue()
print(content)
sio.close()
#bytes
import io
bio = io.bytesio()
bio.write('哈哈哈哈'.encode('utf-8')) # 編碼
bio.write('呵呵呵呵'.encode('utf-8'))
bio.write('嘿嘿嘿嘿'.encode('utf-8'))
content = bio.getvalue()
print(content.decode('utf-8')) # 解碼
bio.close()
操作csv檔案
using system using system.collections.generic using system.data using system.data.odbc using system.io using system.linq using system.text using syste...
CSV檔案操作
csv文字操作 csv寫檔案writer csv.writer fp writer.writerow a b c d 注意 在寫csv檔案的時候,可能會出現一行資料乙個空行 可以通過在開啟檔案時指定 newline 或以二進位制開啟 open data.csv wb open data.csv w ...
python操作 csv檔案
需求 將a.csv中,相同手機號,只要有乙個傳送成功,則其餘改為傳送成功 遍歷軟體執行的資料夾 path dir os.getcwd for root,dirs,files in os.walk path dir for file in files if file.endswith csv f op...