我正在尝试使用按钮记录访问公司的次数。如何获取每个按钮检测事件并将其写入csv文件中的单独行?
def button_callback(channel):
global counter
counter = counter +1
print("A Check-in #", counter)
GPIO.add_event_detect(17, GPIO.FALLING, callback=button_callback, bouncetime=300)
我希望将签到的每张打印内容添加到csv文件中自己的行中。
答案 0 :(得分:0)
您可以将每个事件添加到CSV文件,如下所示:
from datetime import datetime
import csv
def button_callback(channel):
global counter
counter += 1
print("A Check-in #", counter)
# Append row to a CSV file
with open('output.csv', 'a', newline='') as f_output:
csv_output = csv.writer(f_output)
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
csv_output.writerow([timestamp, counter])
GPIO.add_event_detect(17, GPIO.FALLING, callback=button_callback, bouncetime=300)
这显示了如何写入CSV文件。 csv.writer()
用于简化将值的行写入文件的过程。 writerow()
函数获取一个值列表,并将它们作为行写入文件中,并用逗号分隔每个值。
在此示例中,列表包含两个值,即当前时间和当前计数器值。
这将为您提供示例输出,如下所示:
2019-05-07 08:21:31,1
2019-05-07 08:27:06,2