在python裡面,讀取或寫入csv檔案時,使用 csv這個庫。
讀取csv檔案,用的是csv.reader()這個方法。返回結果是乙個_csv.reader的物件, 可以把這個物件轉換為列表,當做列表來處理
import csv
with open
('data.csv'
,'r'
) as f:
reader = csv.
reader
(f)print
(type
(reader)
)for row in reader:
(row)
import csv
import os
from itertools import islice
# 寫檔案
defwt_csv
(filename, data, header=
none):
""" :param filename:
:param data:
:param header:
:return:
"""filename = os.path.join(res_dir, filename)
if os.path.isfile(filename)
:with
open
(filename,
'a', newline='')
as f:
csv_write = csv.writer(f, dialect=
'excel'
)for row in data:
# print(row)
csv_write.writerow(row)
else
:with
open
(filename,
'w', newline='')
as f:
csv_write = csv.writer(f, dialect=
'excel'
) csv_write.writerow(header)
for row in data:
# print(row)
csv_write.writerow(row)
# 讀檔案
defread_csv
(filename, field)
: data =
filename = os.path.join(res_dir, filename)
if os.path.isfile(filename)
:with
open
(filename,
'r', buffering=
true
)as f:
reader = csv.reader(f)
# 忽略首行
for row in islice(reader,1,
none):
length =
len(row)
for i in
range
(length)
:if field:
if i in field:
d =list
(row[i]
) data.extend(d)
else
:pass
else
: d =
list
(row[i]
) data.extend(d)
return data
# 統計字元所佔檔案大小
defutf8length
(sequence)
: count =
0 i =
0if sequence:
lens =
len(sequence)
(lens)
while i < lens:
ch =
ord(sequence[i]
)if ch <=
0x7f
: count +=
1elif ch <=
0x7ff
: count +=
2else
: count +=
3 i +=
1print
(count)
return count
Python基礎 CSV檔案的讀寫
import csv 需要寫入的資料 score1 math 95 score2 english 90 開啟檔案,追加a,newline 可以刪掉行與行之間的空格 file open csv讀寫.csv a newline 建立寫入物件 csv write csv.writer file 寫入具體內...
python使用csv讀寫CSV檔案
檔案的讀 import csv with open test.csv r as csv file reader csv.reader csv file for line in reader print line 檔案的寫 import csv 表頭 file header houseinfo hou...
寫csv檔案 Python讀寫CSV
逗號分隔值 comma separated values,csv,有時也稱為字元分隔值,因為分隔字元也可以不是逗號 其檔案以純文字形式儲存 資料 數字和文字 1 首先匯入csv模板 2 建立乙個csv檔案物件 3 開啟檔案進行讀取 結果 測試1 軟體測試工程師 測試2 軟體測試工程師 測試3 軟體測...