作者Yukirin (いい天気!)
看板Python
标题Re: [问题] readline()如何切?改用csv reader
时间Sun Mar 31 15:03:03 2013
※ 引述《MAGICXX (逢甲阿法)》之铭言:
readline()进来的资料格式应该是字串,
所以他应该是这个样子:
"1,2,3,4,5,6,7,8,9\n"
要读他的index的时候你读到的也是字串,
所以你在IDLE里可以做,是因为你在那边输入的时候并非字串。
假设资料格式是csv,纯文字打开的话应该是:
1,2,3,4,5,6,7,8,9
1,2,3,3,5,6,7,8,9
1,2,3,2,5,6,7,8,9
1,2,3,4,5,6,7,8,9
1,2,3,1,5,6,7,8,9
data = open("F://Python/test.csv")
for each_line in data: ##一次读进一行
temp = each_line.strip("\n").split(",") ##拿掉换行符 转成list
show = temp[ 4: (4 + int(temp[3]) ) ] ##int把temp[3]转成数值
print( show )
最後output的结果是:
['5', '6', '7', '8']
['5', '6', '7']
['5', '6']
['5', '6', '7', '8']
['5']
应该会是你想要的 ,要注意这边list里面的成分都还是字串。
刚学一个月,如果还有更快的解决法还请赐教。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.162.129
1F:推 MAGICXX:感谢你!!!!!虽然 我直接用CSVReader 不过这个方法好像也可 03/31 18:16
2F:→ MAGICXX:以的样子~@@ 03/31 18:16
3F:推 Yoxem:本来想到的反映是 regexp (re模组) 03/31 18:37
4F:→ Yoxem: 应 03/31 20:29
5F:→ uranusjr:切 CSV 用 re 有点杀鸡焉用牛刀的感觉 04/02 16:37