python操作csv文件第7行开始的数据_Python教程-Python读写CSV文件
前言
本教程學習在Python中使用CSV文件。CSV(逗號分隔值)格式是在電子表格和數據庫中使用的非常流行的導入和導出格式。Python語言包含該模塊,該模塊具有用于讀取和寫入CSV格式的數據的類。csv
使用csv.reader()讀取CSV文件
該
假設我們有以下d:/py/xample1.csv文件,內容
1,2,3,4
11,22,33,44
111,222,333,444
以下python腳本從此CSV文件讀取數據。
$title(read-cvs.py)
import csv
f=open('d:/py/example1.csv','r')
with f:
reader=csv.reader(f)
for row in reader:
print(row)
命令執行輸出:
在上面的代碼示例中,我們打開了d:/py/xample1.csv以讀取并使用csv.reader()方法加載數據。
現在,假設CSV文件將使用其他分隔字符。(嚴格來說,這不是CSV文件,但是這種做法很常見。)例如,我們有以下items.csv文件,其中的元素由豎線字符(|)分隔:
筆|桌子|鍵盤
以下腳本從items.csv文件讀取數據。
import csv
f = open('d:/py/items.csv', 'r')
with f:
reader = csv.reader(f, delimiter="|")
for row in reader:
for e in row:
print(e)
我們delimiter在csv.reader()方法中使用參數指定新的分隔字符。
使用csv.DictReader讀取CSV文件
該一個普通的讀者,但讀入字典中的信息映射。
字典的鍵可以與fieldnames參數一起傳遞,也可以從CSV文件的第一行推斷出來。
我們有以下values.csv文件:
min, avg, max
1, 5.5, 10
第一行代表字典的key,第二行代表value。
mport csv
f = open('values.csv', 'r')
with f:
reader = csv.DictReader(f)
for row in reader:
print(row)
上面的python腳本使用讀取values.csv文件中的值csv.DictReader。
這是示例的輸出。
{'max':'10','min':'1','avg':'5.5'}
使用csv.writer()寫入CSV文件
該
import csv
nms = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]]
f = open('numbers2.csv', 'w')
with f:
writer = csv.writer(f)
for row in nms:
writer.writerow(row)
該腳本將數字寫入numbers2.csv文件。該writerow()方法將一行數據寫入指定的文件。
該腳本將產生以下文件(numbers2.csv):
1,2,3,4,5,6
7,8,9,10,11,12
一次寫入所有數據是可以的。該writerows()方法將所有給定的行寫入CSV文件。
下一個代碼示例將Python列表寫入numbers3.csv文件。該腳本將三行數字寫入文件。
import csv
nms = [[1, 2, 3], [7, 8, 9], [10, 11, 12]]
f = open('numbers3.csv', 'w')
with f:
writer = csv.writer(f)
writer.writerows(nms)
運行上述程序時,以下輸出將寫入numbers3.csv文件
1,2,3
7,8,9
10,11,12
報價單
可以在CSV文件中引用單詞。Python CSV模塊中有四種不同的引用模式:
QUOTE_ALL —引用所有字段
QUOTE_MINIMAL-僅引用包含特殊字符的字段
QUOTE_NONNUMERIC —引用所有非數字字段
QUOTE_NONE —不引用字段
在下一個示例中,我們向items2.csv文件寫入三行。所有非數字字段均用引號引起來。
import csv
f = open('items2.csv', 'w')
with f:
writer = csv.writer(f, quoting=csv.QUOTE_NONNUMERIC)
writer.writerows((["coins", 3], ["pens", 2], ["bottles", 7]))
該程序將創建以下items2.csv文件。引用項目名稱,不引用數字表示的數量。
"coins",3
"pens",2
"bottles",7
CSV方言
盡管CSV格式是一種非常簡單的格式,但還是有許多差異,例如不同的定界符,換行或引號字符。因此,有不同的CSV方言可用。
下一個代碼示例將打印可用的方言及其特征。
import csv
names = csv.list_dialects()
for name in names:
print(name)
dialect = csv.get_dialect(name)
print(repr(dialect.delimiter), end=" ")
print(dialect.doublequote, end=" ")
print(dialect.escapechar, end=" ")
print(repr(dialect.lineterminator), end=" ")
print(dialect.quotechar, end=" ")
print(dialect.quoting, end=" ")
print(dialect.skipinitialspace, end=" ")
print(dialect.strict)
在csv.list_dialects()返回方言名稱的列表和csv.get_dialect()方法返回與方言名稱相關聯的方言。
excel
',' 1 None '\r\n' " 0 0 0
excel-tab
'\t' 1 None '\r\n' " 0 0 0
unix
',' 1 None '\n' " 1 0 0
程序將打印此輸出。有三個內置的方言excel,excel-tab和unix。
自定義CSV方言
在本教程的最后一個示例中,我們將創建一個自定義方言。使用該csv.register_dialect()方法創建自定義方言。
import csv
csv.register_dialect("hashes", delimiter="#") #自定義一個新的方言,方言名稱hashes,分隔符 “#”
f = open('items3.csv', 'w')
with f:
writer = csv.writer(f, dialect="hashes") #指定 新自定義的方言
writer.writerow(("pencils", 2))
writer.writerow(("plates", 1))
writer.writerow(("books", 4))
該程序使用(#)字符作為分隔符。使用方法中的dialect選項指定方言csv.writer()。
該程序將產生以下文件(items3.csv):
pencils#2
plates#1
books#4
在本教程中,我們探索了Python csv模塊,并介紹了一些在python中讀寫CSV文件的示例。
總結
以上是生活随笔為你收集整理的python操作csv文件第7行开始的数据_Python教程-Python读写CSV文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬取新浪新闻首页_学习了《p
- 下一篇: 视图插入数据_用EXCEL作数据分析--