Sorting date inside of files (Python)

2024/11/16 8:42:30

I have a txt file with names and dates like this

name0 - 05/09/2020

name1 - 14/10/2020

name2 - 02/11/2020

How can I sort the text file by date? so that the file will end up like this

name2 - 02/11/2020

name1 - 14/10/2020

name0 - 05/09/2020

(I use dd/mm/yyyy)

Answer

You can use the datetime module to do this, along with the builtin reading functionality:

from datetime import datetime# Read in the file
with open("file.txt", "r") as infile:contents = infile.readlines()
contents = [c.strip() for c in contents]# Grab the dates
dates = [line.split("-")[1].strip() for line in contents]
dates = [datetime.strptime(d, "%d/%m/%Y") for d in dates]# Zip contents and dates together
zipped = list(zip(contents, dates))
# Sort them
sorted_zipped = sorted(zipped, key = lambda x: x[1], reverse=True)
# Unzip them and grab the sorted contents
sorted_contents = next(zip(*sorted_zipped))# Write the sorted contents back out
with open("outfile.txt", "w") as out:out.write("\n".join(sorted_contents))
https://en.xdnf.cn/q/119214.html

Related Q&A

Dicing in python

Code:-df = pd.DataFrame({col1:t, col2:wordList}) df.columns=[DNT,tweets] df.DNT = pd.to_datetime(df.DNT, errors=coerce) check=df[ (df.DNT < 09:20:00) & (df.DNT > 09:00:00) ]Dont know why this…

How to collect all specified hrefs?

In this test model I can collect the href value for the first (tr, class_=rowLive), Ive tried to create a loop to collect all the others href but it always gives IndentationError: expected an indented …

How do I sort data highest to lowest in Python from a text file?

I have tried multiple methods in doing this but none of them seem to work The answer comes up alphabetically insteadf=open("class2.txt", "r") scores=myfile.readlines() print(sorted(…

Determine if a variable is an instance of any class

How to determine if a variable is an instance in Python 3? I consider something to be an instance if it has __dict__ attribute.Example:is_instance_of_any_class(5) # should return False is_instance_of…

Method POST not allowed with Django Rest Framework

Im trying to create a JSON API compliant rest service using Django Rest Framework JSON API: https://django-rest-framework-json-api.readthedocs.io/en/stable/index.htmlI think Im stuck at the Django Rest…

Running multiple queries in mongo`

I have a collection and want to get a set of results that met a set of conditions. I understand the Mongo doesnt let you use joins so I would need to run separate queries and join the results into a si…

Error in Calculating neural network Test Accuracy

I tried to train my neural network, and then evaluate its testing accuracy. I am using the code at the bottom of this post to train. The fact is that for other neural networks, I can evaluate the testi…

Adding stats code to a function in Python

Im relatively new to Python and trying to learn how to write functions. The answer to this post highlights how to get certain stats from a dataframe and I would like to use it in a function.This is my…

Multiple Histograms, each for a label of x-axis, on the same graph matplotlib

I am trying to plot a graph to show different behaviors by males and females with regards to a certain activity, for different age-groups. So, if the age groups are: [1-10,11-20,21-30...] I would like …

How can I split a string in Python? [duplicate]

This question already has answers here:Closed 11 years ago.Possible Duplicates:Split python string every nth character?What is the most &ldquo;pythonic&rdquo; way to iterate over a list in chu…