檔案操作 csv檔案 記憶體操作

2021-10-03 01:39:46 字數 1876 閱讀 3115

'''寫:向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...