Python: 将数据写入文件(excel 或 txt),带字段名
Python: Write data to file (excel or txt) with field names
在 Pyhton 中做以下事情的最佳方法是什么(或者你会建议什么):
我 运行 在 Python 中进行了几次模拟,我想存储一些结果(每个模拟都在一个新的 sheet 或新的 txt 文件中)。
示例:
for model in simmodels:
result = simulate(model)
speed = result["speed"]
distance = result["distance"]
"speed" 和 "distance" 是 numpy 数组(1 列,1000 行)
现在我想用以下结构存储这些结果:
1 列:1 行 "speed" 2-1001 行 --> 结果数组速度
2 列:1 行 "distance" 2-1001 行 --> 结果数组距离
等等
我是 Python 的新手,我发现了很多可能性(numpy 中的结构化数组、列表、字典等)。我正在寻找一种非常简单、直接的方法 :).
非常感谢您的帮助
请检查link - CSV Module
CSV 文件也可以在 Excel 中打开。
请检查以下代码:
import csv
speed = [10,20]
dist = [100,200]
f = open("out.csv", 'wb')
try:
writer = csv.writer(f)
writer.writerow( ('Speed','Distance') )
for i in range(2):
writer.writerow( (speed[i],dist[i]) )
finally:
f.close()
out.csv 文件的内容:
Speed,Distance
10,100
20,200
此外,如果您想要精确的 excel 格式,您可以按如下方式设置方言:
writer = csv.writer(f,dialect='excel')
请查看共享 link 中的方言部分以获取更多信息。
终于可以用了:
import csv
f = open("out.csv", 'wb')
writer = csv.writer(f,dialect='excel')
writer.writerow( ('Speed','Distance') )
for model in simmodels:
result = simulate(model)
speed = result["speed"]
distance = result["distance"]
writer.writerow( (speed,distance) )
f.close()
在 Pyhton 中做以下事情的最佳方法是什么(或者你会建议什么):
我 运行 在 Python 中进行了几次模拟,我想存储一些结果(每个模拟都在一个新的 sheet 或新的 txt 文件中)。
示例:
for model in simmodels:
result = simulate(model)
speed = result["speed"]
distance = result["distance"]
"speed" 和 "distance" 是 numpy 数组(1 列,1000 行)
现在我想用以下结构存储这些结果:
1 列:1 行 "speed" 2-1001 行 --> 结果数组速度
2 列:1 行 "distance" 2-1001 行 --> 结果数组距离 等等
我是 Python 的新手,我发现了很多可能性(numpy 中的结构化数组、列表、字典等)。我正在寻找一种非常简单、直接的方法 :).
非常感谢您的帮助
请检查link - CSV Module
CSV 文件也可以在 Excel 中打开。
请检查以下代码:
import csv
speed = [10,20]
dist = [100,200]
f = open("out.csv", 'wb')
try:
writer = csv.writer(f)
writer.writerow( ('Speed','Distance') )
for i in range(2):
writer.writerow( (speed[i],dist[i]) )
finally:
f.close()
out.csv 文件的内容:
Speed,Distance
10,100
20,200
此外,如果您想要精确的 excel 格式,您可以按如下方式设置方言:
writer = csv.writer(f,dialect='excel')
请查看共享 link 中的方言部分以获取更多信息。
终于可以用了:
import csv
f = open("out.csv", 'wb')
writer = csv.writer(f,dialect='excel')
writer.writerow( ('Speed','Distance') )
for model in simmodels:
result = simulate(model)
speed = result["speed"]
distance = result["distance"]
writer.writerow( (speed,distance) )
f.close()