Re: [问题] csv特定列的资料读写到另一csv档

楼主: funnypeter (很难笑,披得)   2014-04-03 20:55:34
import csv
with open('data.csv','w') as f:
s=csv.writer(f,delimiter=' ',lineterminator='\r\n')
for i in range(12):
data=[]
data.append(i+1)
data.append(i*5)
data.append(i**2)
s.writerow(data)
data=[]
with open('data.csv','r') as f:
r=csv.reader(f,delimiter=' ')
for row in r:
if row:
data.append(row)
new_data=[]
for i in data:
new_data.append(i[-1])
no=[]
with open('newdata.csv','w') as f:
s=csv.writer(f,delimiter=' ',lineterminator='\n')
for i in range(len(new_data)):
no.append(i+1)
s.writerow(no)
s.writerow(new_data)
程式码大概是这样
第一个 with 是要产生资料档做测试档案
new_data是用来取出你要的资料
第三个with就是把资料写进去
其实我看不太懂你想表达什么
看图说故事勉强拼凑出你要的样子
至于每隔22个 写入新的一列之类的
你看上面的程式码自己练习一下应该就知道怎么做了 不难
顶多加入if..else判断
https://docs.python.org/2/library/csv.html
这里有API和范例说明
PS:
row是指列,横排
column是指行,直排
※ 引述《okmnji ()》之铭言:
: 如题
: 手上有个csv档
: http://imgur.com/jXmCmfc
: 想用python读取资料写入另一个档案中
: 1. 已知该资料第一列中每22行会重复计算一次(不管空白行)
: 想将'node'与1~22的数字写入另一档的第一行与第一列中
: 达到这样的效果 http://imgur.com/ooukmh6 (展示部分)
: 2. 因为每22重复一次,想将第三列的资料每22个依序填入新档的第2、第3...行
: 像这样:http://imgur.com/jNjMETx
: 因为是新手,还在研究python的csv module,还请大家多多指教,谢谢。
作者: okmnji   2014-04-04 17:07:00
谢谢,我再研究看看!也感谢指正

Links booklink

Contact Us: admin [ a t ] ucptt.com