import json
import csv
import os
def csv_process(filepath):
with open(filepath,mode='r',encoding='utf-8',newline='') as f:
#此處讀取到的資料是将每行資料當做清單傳回的
reader = csv.reader(f)
for row in reader:
#此時輸出的是一行行的清單
# print(row)
print('+'.join(row))
def json_process(filepath):
with open(filepath,mode='r',encoding='utf-8') as f:
city_list = json.load(f)
print(city_list)
def main():
filepath = input('請輸入檔案名稱:')
name,index = os.path.splitext(filepath)
if index == '.json':
json_process(filepath)
elif index == '.csv':
csv_process(filepath)
if __name__ == '__main__':
main()
這是csv檔案
time_point,aqi,quality,primary_pollutant,position_name,area,station_code,pm2_5,pm2_5_24h
2017-07-29T14:00:00Z,44,優,,天壇,北京,1004A,24,30
2017-07-29T14:00:00Z,46,優,,農展館,北京,1005A,28,38
2017-07-29T14:00:00Z,47,優,,萬壽西宮,北京,1001A,32,33
2017-07-29T14:00:00Z,50,優,,古城,北京,1012A,35,27
2017-07-29T14:00:00Z,54,良,細顆粒物(PM2.5),海澱區萬柳,北京,1007A,38,28
2017-07-29T14:00:00Z,57,良,細顆粒物(PM2.5),東四,北京,1003A,40,36
2017-07-29T14:00:00Z,58,良,細顆粒物(PM2.5),官園,北京,1006A,41,32
2017-07-29T14:00:00Z,58,良,"顆粒物(PM2.5),顆粒物(PM10)",,北京,,40,29
2017-07-29T14:00:00Z,60,良,細顆粒物(PM2.5),奧體中心,北京,1011A,43,32
2017-07-29T14:00:00Z,63,良,顆粒物(PM10),定陵,北京,1002A,37,20
2017-07-29T14:00:00Z,77,良,顆粒物(PM10),昌平鎮,北京,1010A,46,20
2017-07-29T14:00:00Z,80,良,臭氧1小時,懷柔鎮,北京,1009A,48,21
2017-07-29T14:00:00Z,102,輕度污染,細顆粒物(PM2.5),順義新城,北京,1008A,76,38
reader = csv.reader(f) 此時reader傳回的值是csv檔案中每行的清單,将每行讀取的值作為清單傳回
for row in reader:
print(row)
此時運作程式列印出來的row如下:
['time_point', 'aqi', 'quality', 'primary_pollutant', 'position_name', 'area', 'station_code', 'pm2_5', 'pm2_5_24h']
['2017-07-29T14:00:00Z', '44', '優', '', '天壇', '北京', '1004A', '24', '30']
['2017-07-29T14:00:00Z', '46', '優', '', '農展館', '北京', '1005A', '28', '38']
['2017-07-29T14:00:00Z', '47', '優', '', '萬壽西宮', '北京', '1001A', '32', '33']
為一個個清單
如果我們想用另外一種方式展示可以用如下方法:
print(', '.join(row))
展示如下:
time_point,aqi,quality,primary_pollutant,position_name,area,station_code,pm2_5,pm2_5_24h
2017-07-29T14:00:00Z,44,優,,天壇,北京,1004A,24,30
2017-07-29T14:00:00Z,46,優,,農展館,北京,1005A,28,38
2017-07-29T14:00:00Z,47,優,,萬壽西宮,北京,1001A,32,33
2017-07-29T14:00:00Z,50,優,,古城,北京,1012A,35,27
上面的用法舉個簡單例子:
l = ['a','b','c','d']
print('+'.join(l))
輸出結果為:
[a+b+c+d]