小编Pat*_*089的帖子

将列表中的数据连续写入 CSV 文件

我正在尝试让我的 Python 脚本继续写入 .CSV 文件,而我是 Python 的初学者。

我试图关注这个有类似问题但没有成功的人: 用 Python 将字符串列表写入 Excel CSV 文件

我目前正在尝试保存包含温度、湿度和时间的传感器数据列表,代码目前如下所示:

def writeDataToFile():
    sensorData = []
    sensorData = getSensorData()


    with open("/home/pi/Documents/Python Projects/CSV-files/sensor_data.csv", 'w') as csv_file:
        writer = csv.writer(csv_file, delimiter=',')
        writer.writerows(sensorData)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:interable expected,not int 所以第一个数据值存储在我假设的 int 中?

我习惯于在 java 中定义类型,但在这里你只需输入变量,所以嗯是的。

我已经尝试过 writer.writerow(sensorData) 并且它可以工作,但正如您可能已经预料到的那样,它只写入一行数据。

其余代码在 while true 循环中运行,它不断将数据存储到列表中。

我如何让这个函数继续写入我的 csv 文件,随着我的循环不断运行而添加越来越多?

getSensorData 函数:

def getSensorData():
    sensorData = []

    temperature = getTemperatureFromSensor()
    humidity = getHumidityFromSensor()
    time = getCurrentFormatedTimestamp()

    sensorData.append(temperature)
    sensorData.append(humidity)
    sensorData.append(time)

    return sensorData
Run Code Online (Sandbox Code Playgroud)

所以我试图简单地打印出列表,它完全符合我的要求:

[29, 21, '2017-10-30 15:02:47']

[29, …

python csv raspberry-pi raspbian

5
推荐指数
1
解决办法
8361
查看次数

标签 统计

csv ×1

python ×1

raspberry-pi ×1

raspbian ×1