簡體   English   中英

將列表從python以格式保存到文本文件

[英]Saving list from python to text file in format

說我有一個txt文件,

fantasy,12/03/2014
sci-fi,13/04/2014
history,03/04/2014

我使用以下代碼將其轉換為python列表

def load_list(filename):
    my_file = open(filename, "rU")
    my_list = []
    for line in my_file:
        a,b = line.rstrip("\n").split(",")
        my_list.append((as_datetime(b),a))
    my_file.close()
    return my_list

輸出[[datetime.datetime(2014,3,12,0,0),'fantasy'),(datetime.datetime(2014,4,3,0,
0),'history'),(datetime.datetime(2014,4,12,0,0),'sci-fi')]。

我可以假定該列表在使用時將被進一步修改(添加和刪除)。 我的問題是,如何實現將列表導出為遵循原始文件格式的txt文件的功能?

您可以使用csv模塊進行讀寫。

為了遵循日期格式,請使用datetime模塊中的strptime()strftime()docs )。

這是一個完整的示例:

import csv
from datetime import datetime

FORMAT = '%d/%m/%Y'

def load_list(filename):
    my_list = []
    with open(filename, "rU") as f:
        reader = csv.reader(f)
        for line in reader:
            my_list.append([line[0], datetime.strptime(line[1], FORMAT)])
    return my_list


def save_list(filename, my_list):
    with open(filename, "w") as f:
        writer = csv.writer(f)
        for item in my_list:
            writer.writerow([item[0], item[1].strftime(FORMAT)])


my_list = load_list('input.txt')
save_list('output.txt', my_list)

它從input.txt讀取數據並將其寫入output.txt 運行腳本后, output.txt包含與input.txt相同的數據:

fantasy,12/03/2014
sci-fi,13/04/2014
history,03/04/2014

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM