test3.csv包含一个包含33个数字的列。我想将一列重新整形为11行和3列。然后,我想保存为新的ascii文件,其中包含行和列,如附加图像。
首先尝试:
import csv
f = open('test3.csv')
csv_f = csv.reader(f)
for row in csv_f:
print row /* The result is
结果是:
['0.000016'] ['0.000045'] ['0.000062'] ['0.000063'] ['0.000063'] ['0.000063']... **[' ']** means string?
第二次尝试:
f = open('test3.csv')
csv_f = csv.reader(f)
for row in csv_f:
print row[0]
结果是:
0.000016 0.000045 0.000062 0.000063 0.000063 0.000063 ...I think they are number.
第三次尝试:
import csv
import numpy as np
f = open('test3.csv')
csv_f = csv.reader(f)
a1 = []
for row in csv_f:
a1.append(row[0])
print a1
结果是:
['0.000016', '0.000045', '0.000062', '0.000063', '0.000063', '0.000063',...].
其实我希望这个结果像ascii文件一样:
答案 0 :(得分:0)
以下是一些可以满足您需求的代码:
<强>代码:强>
- name: dependency provisioning
hosts: all
become: yes
become_method: sudo
gather_facts: false
tasks:
- name: install python2
raw: sudo apt-get -y install python-simplejson
- name: production
hosts: production_host
roles:
- nginx
tasks:
- name: update apt cache
apt: update_cache=yes cache_valid_time=3600
# ....
- name: staging
hosts: staging_host
roles:
- nginx
tasks:
- name: update apt cache
apt: update_cache=yes cache_valid_time=3600
# ....
测试数据:
import csv
# read each line of the input csv
with open('file3') as f:
csv_f = csv.reader(f)
# convert the first element of each line to a formated float
numbers = ['%.6f' % float(row[0]) for row in csv_f]
# make sure the length is divisible by 3
numbers += [''] * (-len(numbers) % 3)
# reorder to by 3
numbers = [(numbers[i], numbers[i+1], numbers[i+2])
for i in range(0, len(numbers), 3)]
# print each line
for line in numbers:
print(' '.join(line))
<强>结果:强>
0.000016
0.000045
0.000062
0.000063
0.000063
0.000063
0.000079
0.000078
0.000045
0.000062
0.000062
0.000062
0.000062
0.000062
0.000062
0.000077
0.000073
0.000062
0.000062
0.000045
0.000063
答案 1 :(得分:0)
我利用了this great answer:
from itertools import izip_longest
def grouper(iterable, n, fillvalue=None):
args = [iter(iterable)] * n
return izip_longest(*args, fillvalue=fillvalue)
with open('data.txt', 'r') as f:
for group in grouper(f, 3, ''):
print ' '.join([x.strip() for x in group])