我有一個.csv文件,其中包含5列中的數據。第五列是日期爲一個編號的星期。我想根據當前的星期編號在桌面上的對象中打印其他4列數據。例如,第01周的第1列中有1個,第2列中的第2個,第3列中的第3個和第4列中的第4個。我想按順序在對象中打印1,2,3,4。一旦第01周結束,我希望它改變爲第02周的數據。第1列中的數據現在是5,第2列現在是6等。我一直在試圖找到一個if語句,它可以工作,但沒有任何我找到了作品。Python語句根據星期編號打印.csv中的特定行
我是新的python與一些背景編碼。我無法弄清楚適當的if語句還是有更好的函數可供使用?謝謝。
這是我到目前爲止:
from datetime import date
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'win.py')
frame.Show()
app.MainLoop()
import csv
import time
#----------------------------------------------------------------------
def csv_dict_reader(file_obj):
"""
Read a csv.DictReader
"""
reader = csv.DictReader(file_obj, delimiter=',')
for column in reader:
if(column["Date"])==(time.strftime("%U")):
print(column["Column 1"])
print(column["Column 2"])
print(column["Column 3"])
print(column["Column 4"])
#----------------------------------------------------------------------
if __name__ == "__main__":
with open("data.csv") as f_obj:
csv_dict_reader(f_obj)
我的.csv的樣品是:
Column 1 Column 2 Column 3 Column 4 Date
1 2 3 4 1
5 6 7 8 2
9 10 11 12 3
輸出我想要的是: 如果每週1打印:
1
2
3
4
如果第2周打印:
5
6
7
8
我希望將它們打印在位於桌面上的盒子中。當週變化時,我希望它自動更改爲下週的數據。
謝謝。
sdruch
歡迎StackOverflow上。請澄清您的問題,特別是根據http://stackoverflow.com/help/mcve上的發佈準則。除其他外,請顯示輸入文件中的示例數據和所需輸出的樣本。除此之外,您期望的結果令人困惑:「print」是將數據發送到輸出通道的命令; 「對象」是您設計的內部數據結構。 此外,您聲明要按降序打印,但已描述升序。 – Prune
請你可以編輯你的問題(按'編輯'按鈕)添加你的輸入的一個小樣本,以及你的預期輸出應該是什麼。 –
我已經添加了一個示例和一個預期的輸出。謝謝。 – sdruch