簡體   English   中英

如何從csv文件中的日期中提取一個月?

[英]How to extract a month from date in csv file?

我試圖通過從日期中提取月份來獲取本月工作的所有員工的輸出,但出現此錯誤:

month = int(row[1].split('-')[1])
IndexError: list index out of range

出勤日志 csv 中的一行如下所示:

"404555403","2020-10-14 23:58:15.668520","Chandler Bing"

我不明白為什么它超出范圍? 謝謝你的幫助!

import csv
import datetime

def monthly_attendance_report():
"""
The function prints the attendance data of all employees from this month.
"""
this_month = datetime.datetime.now().month
with open('attendance_log.csv', 'r') as csvfile:
    content = csv.reader(csvfile, delimiter=',')
    for row in content:
        month = int(row[1].split('-')[1])
        if month == this_month:
            return row

monthly_attendance_report()

它對我有用。 問題可能出在處理 csv 文件中,因為 csv 文件在大多數情況下都有標題,這意味着您無法拆分標題文本。 因此,將 slicer [1:] 添加到您的 for 循環並忽略帶有標題的第一行:

for row in content[1:]:

而且切片加工棗子也不好。 使用 datetime 模塊或類似的東西。

暫無
暫無

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

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