python 文件格式為 txt 轉換成 csv 格式


1  txt 文件的讀取

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

參數 file 是文件名稱,如‘file.txt’ ;mode 是對文件打開的模式,其他參數一般不用。

函數 open 的參數解釋:

在open函數中默認為只讀。其他模式還有:

        w:以寫方式打開

        a:以追加模式打開

        r+:以讀寫模式打開

        w+:以讀寫模式打卡

        rb:以二進制讀模式打開

        wb:以二進制寫模式打開

        ab:以二進制追加模式打開

        rb+:以二進制讀寫模式打開

        wb+:以二進制讀寫模式打開

        ab+:以二進制追加模式打開

open 對象的常用方法:

read():讀取字節到字符串中

readline():打開文件的一行,包括行結束符

readline():打開文件,讀取所有行

write():將字符串寫入文件,寫入對象為字符串

writelines():將列表寫入文件,對象是列表。

seek():偏移量

tell():返回當前文件指針的位置

2 csv 的讀寫

需要模塊 csv ,讀寫函數:

讀取函數

reader(csvfile, dialect='excel', **fmtparams)

參數說明:

csvfile,必須是支持迭代(Iterator)的對象,可以是文件(file)對象或者列表(list)對象,如果是文件對象,打開時需要加"b"標志參數。

dialect,編碼風格,默認為excel的風格,也就是用逗號(,)分隔,dialect方式也支持自定義,通過調用register_dialect方法來注冊,下文會提到。

fmtparam,格式化參數,用來覆蓋之前dialect對象指定的編碼風格。

 

寫函數

writer(csvfile, dialect='excel', **fmtparams)

參數意義同上。

3 例子

reader = open('data.txt')
list_data = reader.readlines()
columns = list_data [0].split()
list = []
for i in list_data [1:]:
    list.append(i.split())
with open("test.csv","wb") as csvfile:
    writer = csv.writer(csvfile)
    #先寫入columns_name
    writer.writerow(columns)
    #寫入多行用writerows
    writer.writerows(list)

對寫入數據的解析:

首先open()函數打開當前路徑下的名字為'test.csv'的文件,如果不存在這個文件,則創建它,返回csvfile文件對象。

csv.writer(csvfile)返回writer對象myWriter。

writerow()方法是一行一行寫入,writerows方法是一次寫入多行。

注意:如果文件'test.csv'事先存在,調用writer函數會先清空原文件中的文本,再執行writerow/writerows方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM