Getting Started with Python data analysis

Source: Internet
Author: User
Tags define function

Python Learning _ Data Processing Programming Example (i) Objective: To summarize the learning with statements, functions, List derivation, collection, sorting, character segmentation and other contents with an example.

Requirements: respectively, the name of the James,julie,mikey,sarah four students to establish a text file, respectively, to store their own results, the time format is accurate for seconds, the shorter the result, the better the results, respectively, output each student's first three of the best results, and seconds of the delimiter to unify for "."

Data preparation: Create four text files respectively

James.txt 2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22

Julie.txt 2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21

Mikey.txt 2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38

Sarah.txt 2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55

Code implementation:

Import osos.chdir (' C:\Python33\HeadFirstPython\hfpy_code\chapter5 ') #将工作空间修改为文件所在的目录 # define function get_filedata value def from file                  Get_filedata (filename): Try:with open (filename) as F: #with语句打开和自动关闭文件 Data=f.readline ()        #从文件中逐行读取字符 return (Data.strip () split (', ')) #将字符间的空格清除后 with a comma-delimited character except IOError as Ioerr: Print (' File error ' + str (ioerr)) #异常处理, printing error return (None) #定义函数modify_time_format将所有文件中的时分表达方式统一为 "minutes. Seconds" de F Modify_time_format (time_string): If "-" in Time_string:splitter= "-" elif ":" In Time_string:splitt    Er= ":" Else:splitter= "." (mins, secs) =time_string.split (splitter) #用分隔符splitter分隔字符后分别存入mins和secs return (mins+ '. ' +secs) #定义函数get_prev_ Three returns the top three non-repeating time score in a file def get_prev_three (filename): New_list=[modify_time_format (each_t) for each_t in Get_filedata   (filename)] #采用列表推导将统一时分表达方式后的记录生成新的列表 Delete_repetition=set (new_list) #采用集合The SET function removes duplicates from the new list and generates a new collection in_order=sorted (delete_repetition) #采用复制排序sorted函数对无重复 A new collection of sex return (In_order[0:3]) #返回列表前三项 # outputs the top three non-repeating time score in the corresponding file respectively Print (Get_prev_three ("James.txt")) Print (Get_prev_three ("Julie.txt")) Print (Get_prev_three ("Mikey.txt")) print ( Get_prev_three ("Sarah.txt"))

Output Result:

[' 2.01 ', ' 2.22 ', ' 2.34 '] [' 2.11 ', ' 2.23 ', ' 2.59 '] [' 2.22 ', ' 2.38 ', ' 2.49 '] [' 2.18 ', ' 2.25 ', ' 2.39 ']

Reference: Headfirstpython Series Books Chapter 5

Getting Started with Python data analysis

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.