①讀入csv檔案並獲取所有行所有列內容(存入 row 二重列表中)
row=
#定義行陣列,每行record為乙個子list
#注意 encoding 此處為gbk,常用的還有 utf-8
with
open
("first_work\附件.csv"
,'r'
,encoding=
"gbk"
)as file1:
reads= file1.readlines(
)for line in reads:
).split(
',')
)
②刪除csv中含空單元格的資料行(資料預處理)
# 資料預處理
# row 列表 去空(根據del_row中數字刪除row的行) 為 new_row
new_row=
del_row=
#存放要row中要刪除的list的下標i=0
#觀察有多少空行資料
new_row=row
for a_row in row:
for a_record in a_row:
if a_record.strip()==
'':#找到含空資料(空串,空格串)的單元格
row_index=row.index(a_row)
#獲取單元格所在行的下標
#將要刪除的行存入列表
i=i+
1# print(len(row)) 42817
# print(i)
# 逆序遍歷del_row並刪除list ---不逆序會出錯,因為刪乙個會移動一次,下標改變。。。
for index_num in
reversed
(del_row)
:del new_row[index_num]
#學習: 簡單了解深拷貝淺拷貝。。。
③遍歷字典
python字典遍歷的幾種方法
④將字典內容寫出到csv檔案,並對浮點數保留兩位小數
with
open
("task1_2.csv"
,'w'
,encoding=
"utf-8"
,newline='')
as file12:
writer=csv.writer(file12)
for k in fare.keys():
writer.writerow(
[k,""
.format
(fare[k])]
)
⑤debug
if month in month_list:
#若月份存在,消費金額增加,存入day
month_index=month_list.index(month)
cus_dict[line[0]
][month_index][1
][0]
=float
(cus_dict[line[0]
][month_index][1
][0]
)+float
(money)
cus_dict[line[0]
][month_index][1
][1]
=cus_dict[line[0]
][month_index][1
][1]
else
:#若月份不存在,新加資料
遇到bug並debug(改正):
cus_dict[line[0]
][month_index][1
][1]
=cus_dict[line[0]
][month_index][1
][1]
#錯誤cus_dict[line[0]
][month_index][1
][1]
#正確
----2020.11.4 python對 csv檔案的簡單計數處理
1.每種伏邪,對應方劑所出現的次數 部分資料如下 2.每種伏邪,對應中草藥出現的次數 話不多說直接 資料檔案github瀏覽 初學菜鳥乙個,輕噴 問題一 import numpy as np from collections import counter data np.loadtxt open d...
python 處理csv資料
python中有專門的模組csv來處理 例如 csv檔案的格式 263 invalid creation wissam a.elriachy 2010 03 27 02 58 45 2010 04 22 22 41 40 例如讀取csv的資料列印出來 import csv reader csv.re...
Python處理csv檔案
在csv檔案中,以,作為分隔符,分隔兩個單元格。像這樣a,c表示單元格a和單元格c之間有個空白的單元格。依此類推。不是每個逗號都表示單元格之間的分界。所以即使csv是純文字檔案,也堅持使用專門的模組進行處理。python內建了csv模組。先看看乙個簡單的例子。import csv filename ...