使用 csv writer 向现有 csv 添加新条目
Add new entry to existing csv with csv writer
遇到一个非常简单的问题。但无法弄清楚我的错误。我想将在特定时间间隔内更新的值列表 csv_line = ["name 1", "value 1", "name 2", "value 2",...]
保存为 csv 文件。我当前的方法(受此 post 启发)看起来像:
with open("live_data.csv", "a", newline="") as file:
writer = csv.writer(file)
writer.writerow(csv_line)
file.close()
这会导致如下输出:
n
a
m
e
1
v
a
...
当我明确希望我的 csv 看起来像:
entry1
entry2
...
我想我在这里遗漏了一些非常明显的东西...
这应该可以正常工作:
import csv
csv_line = ["name 1", "value 1", "name 2", "value 2"]
with open("live_data.csv", "w", newline="") as file:
writer = csv.writer(file)
for line in csv_line:
writer.writerow([line])
使用打开语法时,您不再需要关闭文件。另外,当使用writerow时,该函数需要一个列表输入,所以使用一个字符串作为输入会先将其转换为列表,然后再写入,从而获得不同列中的每个字母。
此外,根据您的用例,如果您只编写一次,则可以使用 'w' 作为 open() 中的选项。否则,保留 'a' 将继续添加到该文件。
运行
import csv
csv_line = ["name 1", "value 1", "name 2", "value 2"]
with open("live_data.csv", "a", newline="") as file:
writer = csv.writer(file)
writer.writerow(csv_line)
保存在 live_data.csv
name 1,value 1,name 2,value 2
我的理解是你打算完成的。
编辑:我忘了提到 with
语句不需要关闭文件 [1]
[1] https://docs.python.org/3/reference/compound_stmts.html#the-with-statement
遇到一个非常简单的问题。但无法弄清楚我的错误。我想将在特定时间间隔内更新的值列表 csv_line = ["name 1", "value 1", "name 2", "value 2",...]
保存为 csv 文件。我当前的方法(受此 post 启发)看起来像:
with open("live_data.csv", "a", newline="") as file:
writer = csv.writer(file)
writer.writerow(csv_line)
file.close()
这会导致如下输出:
n
a
m
e
1
v
a
...
当我明确希望我的 csv 看起来像:
entry1
entry2
...
我想我在这里遗漏了一些非常明显的东西...
这应该可以正常工作:
import csv
csv_line = ["name 1", "value 1", "name 2", "value 2"]
with open("live_data.csv", "w", newline="") as file:
writer = csv.writer(file)
for line in csv_line:
writer.writerow([line])
使用打开语法时,您不再需要关闭文件。另外,当使用writerow时,该函数需要一个列表输入,所以使用一个字符串作为输入会先将其转换为列表,然后再写入,从而获得不同列中的每个字母。
此外,根据您的用例,如果您只编写一次,则可以使用 'w' 作为 open() 中的选项。否则,保留 'a' 将继续添加到该文件。
运行
import csv
csv_line = ["name 1", "value 1", "name 2", "value 2"]
with open("live_data.csv", "a", newline="") as file:
writer = csv.writer(file)
writer.writerow(csv_line)
保存在 live_data.csv
name 1,value 1,name 2,value 2
我的理解是你打算完成的。
编辑:我忘了提到 with
语句不需要关闭文件 [1]
[1] https://docs.python.org/3/reference/compound_stmts.html#the-with-statement