最近想用python写一个自动化小工具。
为了便于维护,想把xpath写到文件里,从文件里读取。
早上就开始尝试了。
#coding=utf-8
import csv
def zidian():
my_file= 'E:\\test\\aa.csv'
data=csv.reader(file(my_file,'rb'))
for user in data:
print user
#print user[0]
#print user[1]
# arry=tuple(user)
# for info in user:
# print info
i=0
j=1
while j < len(user):
print "the value is %s,%s" %(user[i],user[j])
i=j+1
j=i+1
#
#
zidian()
Error: line contains NULL byte
只能用度娘了,找到一篇不错的文章:
http://yxmhero1989.blog.163.com/blog/static/112157956201326103812783/
解决方案:出错原因是直接是把后缀为xls的execl文件重命名为csv的 正常的要是另存为csv文件 就不会报错了
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import csv
with open('egg.csv','rb') as f:
reader = csv.reader(f)
for row in reader:
print row
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import csv
with open('egg2.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(['a', '1', '1', '2', '2'])
spamwriter.writerow(['b', '3', '3', '6', '4'])
spamwriter.writerow(['c', '7', '7', '10', '4'])
spamwriter.writerow(['d', '11','11','11', '1'])
spamwriter.writerow(['e', '12','12','14', '3'])
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import csv
with open('egg2.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile,dialect='excel')
spamwriter.writerow(['a', '1', '1', '2', '2'])
spamwriter.writerow(['b', '3', '3', '6', '4'])
spamwriter.writerow(['c', '7', '7', '10', '4'])
spamwriter.writerow(['d', '11','11','11', '1'])
spamwriter.writerow(['e', '12','12','14', '3'])
想用python处理一下csv格式的数据
想统计a的第一例的最小的数,第二列最小值,第三列最大值,且a有几个
同样得到b,c,d,e等
由 图1 得到 图2(最后一列为啊,a,b,c,d,e的个数)
接着我想把文件存成字典形式的,但是怎么将列表转换成字典,费了好大周折,
看了这两篇文章:
http://www.cnblogs.com/linjiqin/p/3674356.html
http://blog.csdn.net/business122/article/details/7536991
发现字典转变不了,继续列表,代码如下:
#coding=utf-8
from selenium import webdriver
import csv
def zidian():
my_file= 'E:\\test\\aa.csv'
data=csv.reader(file(my_file,'rb'))
for user in data:
print user
#print user[0]
#print user[1]
# arry=tuple(user)
# for info in user:
# print info
print "the value is %s,%s" %(user[0],user[1])
driver = webdriver.Firefox()
url = "http://www.baidu.com"
driver.get(url)
element=driver.find_element_by_id("r'%user[0]'")
element.send_keys("r'%user[1]'")
driver.find_element_by_id("su1").click()
driver.quit()
# i=0
# j=1
'''
while j < len(user):
print "the value is %s,%s" %(user[i],user[j])
i=j+1
j=i+1
driver = webdriver.Firefox()
url = "http://www.baidu.com"
driver.get(url)
element=driver.find_element_by_id(user[i])
element.send_keys(user[j])
driver.find_element_by_id("su1").click()
driver.quit()
'''
#
#
zidian()
但是老遇到问题,Python: Error: Inconsistent indentation detected!
找到了偏文章:http://blog.csdn.net/zhenyu5211314/article/details/18220689
在使用Python自带的IDLE编写代码的过程中,经常会出现莫名其妙的错误,比如这个:
说明你的空格和Tab缩进混淆了(Python对缩进非常严格),解决办法也非常之简单:全选代码——Alt+F5(菜单栏Format——点击Tabify Region),解决
解决这个问题后,发现传参不太对,写了个小的来测试下,
#coding=utf-8
from selenium import webdriver
id="kw1"
print "the value is %s" %(id)
driver = webdriver.Firefox()
url = "http://www.baidu.com"
driver.get(url)
element=driver.find_element_by_id("kw1")
element.send_keys("pyton")
driver.find_element_by_id("su1").click()
driver.quit()