Python基础——PyCharm版本——第八章、文件I/O(核心3、csv和excel解析)
生活随笔
收集整理的這篇文章主要介紹了
Python基础——PyCharm版本——第八章、文件I/O(核心3、csv和excel解析)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
🤵🤗Python_Base:Chapter eighth🤗🤵
CSV前言
CSV(Comma-Separated Values,中文逗號分隔值或字符分隔值)是一種通用的、相對簡單的文件格式,被用戶、商業和科學廣泛應用,也應用于程序之間轉移表格數據。
CSV并不是一種單一的、定義明確的格式,泛指具有以下特征的任何文件: 純文本,使用某個字符集,如ASCII、Unicode、EBCDIC或GB2312。 由記錄組成(典型的是每行一條記錄)。 每條記錄被分隔符分隔為字段(典型分隔符有逗號、分號或制表符;有時分隔符可以包括可選的空格)。 每條記錄都有同樣的字段序列。
數據格式
1 王語嫣 16 瑯嬛福地,神仙姐姐 2 小龍女 17 終南山下,活死人墓,神雕俠侶,絕世江湖 3 趙靈兒 15 靈蛇島,逍遙哥哥的小太妹讀取操作: (編碼格式,通常使用utf-8,如果文件編碼不符會報錯)
import csv# 文件獲取 file = open('test.csv', 'r', encoding="utf-8") # 內容讀取 list1 = csv.reader(file) # 信息遍歷 for line in list1:for item in line:print(item, end=" ")print()寫入操作:
import csv# 文件獲取 file = open('test.csv', 'w+', encoding="utf-8") # 寫入操作 writer = csv.writer(file) # 按照行寫入 writer.writerow(['1', '王語嫣', '16', "瑯嬛福地,神仙姐姐"]) data = [('2','小龍女', '17', '終南山下,活死人墓,神雕俠侶,絕世江湖'),('3','趙靈兒', '15', '靈蛇島,逍遙哥哥的小太妹')] # 寫入多行記錄 writer.writerows(data) # 刷新文件 file.flush() # 關閉文件流 file.close()EXCEL前言
Python讀寫Excel文檔需要安裝和使用xlrd模塊,Excel文件寫入需要使用xlwt模塊。
寫入XLS
這里用到的包是:【import xlwt】
需要進行下載:【pip install xlwt】
import xlwt# 創建內容的樣式對象,包括字體樣式以及數字的格式 wb = xlwt.Workbook() ws = wb.add_sheet('Sheet1') # 添加一個sheet # 需要將中文通過u""的形式轉換為unicode編碼 data = [[u"編號", u"姓名", u"年齡", u"簡介"],[1, u"王語嫣", 16, u"瑯嬛福地,神仙姐姐"],[2, u"小龍女", 17, u"活死人墓,冰山美人"],[3, u"趙靈兒", 31, u"靈蛇島上,戚戚艾艾"]] for i in range(0, data.__len__()): # 循環遍歷每一行for j in range(0, data[i].__len__()): # 循環遍歷第i行的每一列ws.write(i, j, data[i][j]) wb.save("test.xls")能確定生成了【test.xls】文件,這里別寫【xlsx】,因為【xlwt】不支持【xlsx】操作。
讀取XLS
這里用到的包是:【import xlrd】
需要進行下載:【pip install xlrd】
測試表格(剛剛通過【xlwt】生成):
?
import xlrdworkbook = xlrd.open_workbook('test.xls') # 打開Excel文件讀取數據 print(workbook.sheet_names()) # 獲取所有sheet # sheet2 = workbook.sheet_names()[0] #第一種方式,根據下標獲取 sheet = workbook.sheet_by_index(0) # 第二種方式,根據sheet索引獲取sheet對象,索引從0開始 sheet = workbook.sheet_by_name('Sheet1') # 第三種方式,根據sheet名稱獲取sheet對象 print(sheet.name, sheet.nrows, sheet.ncols) # sheet的名稱、行數和列數 # 獲取整行和整列的值(數組) rows = sheet.row_values(2) # 獲取第三行內容 cols = sheet.col_values(2) # 獲取第三列內容 print(str(rows), '\n', cols) # 獲取單元格內容 print(sheet.cell(1, 0).value, end=" ") print(sheet.cell_value(1, 0), end=" ") print(sheet.row(1)[0].value, end=" ") print(sheet.cell(1, 0).ctype) # 獲取單元格內容的數據類型print("\n--------------------------------------\n") # 遍歷 for row in sheet:print(row[0], row[1], row[2], row[3])?
總結
以上是生活随笔為你收集整理的Python基础——PyCharm版本——第八章、文件I/O(核心3、csv和excel解析)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础——PyCharm版本—
- 下一篇: 【蓝桥杯省赛】冲刺练习题【数学公式】倒计