我已經開了一個CSV文件,我想每一個是逗號分隔的字符串進行排序,並在同一行:如何從csv文件分開逗號分隔的數據?
前::文件:
name,sal,dept
tom,10000,it
O/P ::每個串串可變
我有一個文件,該文件已經打開,所以我不能用「開放」的API,我必須使用「csv.reader」這不得不一次讀取一行。
我已經開了一個CSV文件,我想每一個是逗號分隔的字符串進行排序,並在同一行:如何從csv文件分開逗號分隔的數據?
前::文件:
name,sal,dept
tom,10000,it
O/P ::每個串串可變
我有一個文件,該文件已經打開,所以我不能用「開放」的API,我必須使用「csv.reader」這不得不一次讀取一行。
我不知道我是否正確地理解你的問題。你可能想看看反正在Python documentation描述的分裂功能。
我只想從csv文件的行中獲取數據,因爲我的第一行文件包含字段名稱,並且所有行都包含數據。 – Rahul99 2010-03-09 13:19:51
如果打開文件進行讀取綁定到一個變量名,說fin
;假設你正在使用Python 2.6,你知道該文件不是空的(至少具有標題行):
import csv
rd = csv.reader(fin)
headers = next(rd)
for data in rd:
...process data and headers...
在Python 2.5,使用headers = rd.next()
代替headers = next(rd)
。
這些版本的使用領域data
的列表,這是一個完全通用的解決方案(即不需要事先知道文件有多少列有:你訪問它們爲data[0]
,等,和當前行具有len(data)
字段在循環的每個腿)。
如果知道該文件具有完全相同的三列,並更願意使用不同的名稱,每列有一個變量,在環頭更改爲:
for name, sales, department in rd:
現場數據由讀寫器(就像是返回標題)都是字符串。如果您知道的例子,第二列是一個int,並希望把它當作這樣的,開始循環與
for data in rd:
data[1] = int(data[1])
,或者,如果您使用的命名變量變異:
for name, sales, department in rd:
sales = int(sales)
@Rahul,對不起,我不明白你在問什麼。你能提供你的輸入和期望的輸出塊引用的例子嗎? – MattH 2010-03-09 10:42:47
你問如何使用csv? http://docs.python.org/library/csv.html文檔有什麼問題? – 2010-03-09 10:57:36