彭莉
摘要:Python對初級程序員而言,是一種偉大的語言。從簡單的文字處理到WWW瀏覽器再到游戲。
關(guān)鍵詞:python;程序;設(shè)計(jì)
1 前言
Python是由Guido van Rossum在八十年代末和九十年代初,在荷蘭國家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來的。Python是初學(xué)者的語言:Python對初級程序員而言,是一種偉大的語言,它支持廣泛的應(yīng)用程序開發(fā),從簡單的文字處理到WWW瀏覽器再到游戲。
2 Python處理CSV文件和JSON數(shù)據(jù)的步驟
2.1 處理CSV文件步驟
CSV文件是簡單的,缺少Excel電子表格的許多功能。例如,CSV文件中:值沒有類型,所有東西都是字符串;沒有字體大小或顏色的設(shè)置;沒有多個(gè)工作表;不能指定單元格的寬度和高度;不能合并單元格;不能嵌入圖像或圖表。
找出當(dāng)前工作目錄中的所有CSV文件:讀取每個(gè)文件的全部內(nèi)容;跳過第一行,將內(nèi)容寫入一個(gè)新的CSV文件。
在代碼層面上,這意味著該程序需要做到以下幾點(diǎn):循環(huán)遍歷從os.listdir ()得到的文件列表,跳過非CSV文件;創(chuàng)建一個(gè)CSV Reader對象,讀取該文件的內(nèi)容,利用line num屬性確定要跳過哪一行;創(chuàng)建一個(gè)CSV Writer對象,將讀人的數(shù)據(jù)寫入新文件。
2.2 處理JSON數(shù)據(jù)步驟
Python的json模塊處理了JSON數(shù)據(jù)字符串和Python值之間轉(zhuǎn)換的所有細(xì)節(jié),得到了json.loads()和json.dumps()函數(shù)。JSON不能存儲每一種Python值,它只能包含以下數(shù)據(jù)類型的值:字符串、整型、浮點(diǎn)型、布爾型、列表、字典和NoneType。
JSON不能表示Python特有的對象,如File對象、CSV Reader或Writer對象、Regex
對象或Selenium WebElement對象。
3 代碼實(shí)現(xiàn)
3.1 處理csv文件代碼
import csv,os
os.makedirs('headerRemoved,exist ok=True)
for csvFilenarne in os.listdir('.'):
if not csvFilename.endswtth('.csv'):
continue
prtnt('Removtng header from'+csvFtlename+'...')
csvRows=[]
csvFileObj=open(csvFilename)
readerObj=csv.reader(csvFileObj)
for row in readerObj:
if readerObj.line_num==1:
continue#skip first row
csvRows.append(row)
csvFtleObj.close()
csvFileObj=open(os.path.join('headerRe-moved,csvFtlename),'w',newline=")
csvWriter=csv.writer(csvFileObj)
for row in csvRows:
csvWriter.writerow(row)
csvFtleObj.close()
3.2 處理json數(shù)據(jù)代碼
import json,requests,sys
if len(sys.argv)<2:
print('Usage:qutckWeather.py location')
sys.exit()
location=''.join(sys.argv[1:])
url='http://apt.openweathermap.org/data/2.5/forecast/ daily?q=%s&cnt=3'%(location)
response=requests.get(url)
response.raise_for_status()
weatherData=json.loads(response.text)
w=weatherDatar['list']
print('Current weather in%s:'%(location))
print(w[0]['weather'][0]['main'],'-',w[0]['weather'][0]['description'])
print()
print('Tomoxrow:')
print(w[1]['weather'][0]['main'],'-',w[1]['weather'][0]['description'])
print()
print('Day after tomorrow:')
print(w[2]['weather'][0]['main'],'-',w[2]['weather'][0]['description'])
4 小結(jié)
CSV和JSON是常見的純文本格式,用于保存數(shù)據(jù)。它們很容易被程序解析,同時(shí)仍然讓人可讀,所以它們經(jīng)常被用作簡單的電子表格或網(wǎng)絡(luò)應(yīng)用程序的數(shù)據(jù)。csv和json模塊大大簡化了讀取和寫入CSV和JSUN文件的過程。
一個(gè)常見的任務(wù)是接受多種格式的數(shù)據(jù),解析它,并獲得需要的特定信息。這些任務(wù)往往非常特別,商業(yè)軟件并不是最有幫助的。通過編寫自己的腳本,可以讓計(jì)算機(jī)處理大量以這些格式呈現(xiàn)的數(shù)據(jù)
參考文獻(xiàn)
[1]羅霄,任勇,山秀明.基于Python的混合語言編程及其實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2004,(12).
[2]馬珊珊.python在日常工作處理中的應(yīng)用——以員工福利采購統(tǒng)計(jì)為例[J].電腦知識與技術(shù),2018,(01).