[英]How to output numpy list into cvs file python 3.6
我有一個Python列表如下:
[(numpy.datetime64('2000-04-01'), 'pie'),
(numpy.datetime64('2000-04-01'), 'apple'),
(numpy.datetime64('2000-04-01'), 'orange'),
(numpy.datetime64('2000-04-01'), 'mango'),
(numpy.datetime64('2000-04-01'), 'pears')]
我希望它如下所示的csv文件輸出
| date | item |
+------------+-------+
| 2000-04-01 | pie |
| 2000-04-01 | apple |
| ... | ... |
我終於能夠輸出為csv文件。
import csv
with open('date_prop.csv','w',newline='') as out:
csv_out=csv.writer(out)
csv_out.writerow(['date','item'])
for row in f2:
csv_out.writerow(row)
簡單的Python文件編寫:
In [116]: with open('test','w') as f:
...: print(' date item', file=f)
...: for t in alist:
...: print('%s %s'%t, file=f)
...:
In [117]: cat test
date item
2000-04-01 pie
2000-04-01 apple
2000-04-01 orange
2000-04-01 mango
2000-04-01 pears
關鍵是str(np.datetime64('2000-04-01')
的格式可以根據需要設置。
而且對象dtype數組可以使用帶有正確fmt
savetxt
編寫:
In [121]: arr = np.array(alist)
In [122]: arr
Out[122]:
array([[numpy.datetime64('2000-04-01'), 'pie'],
[numpy.datetime64('2000-04-01'), 'apple'],
[numpy.datetime64('2000-04-01'), 'orange'],
[numpy.datetime64('2000-04-01'), 'mango'],
[numpy.datetime64('2000-04-01'), 'pears']], dtype=object)
In [123]: np.savetxt('test', arr, fmt='%s', delimiter=',', header='date item')
In [124]: cat test
# date item
2000-04-01,pie
2000-04-01,apple
2000-04-01,orange
2000-04-01,mango
2000-04-01,pears
我也可以創建一個結構化的數組並使用savetxt
編寫它
In [125]: arr = np.array(alist, dtype='datetime64[D], U10')
In [126]: arr
Out[126]:
array([('2000-04-01', 'pie'), ('2000-04-01', 'apple'),
('2000-04-01', 'orange'), ('2000-04-01', 'mango'),
('2000-04-01', 'pears')], dtype=[('f0', '<M8[D]'), ('f1', '<U10')])
In [127]: np.savetxt('test', arr, fmt='%s', delimiter=', ', header='date item
...: ')
In [128]: cat test
# date item
2000-04-01, pie
2000-04-01, apple
2000-04-01, orange
2000-04-01, mango
2000-04-01, pears
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.