一、读取CSV
语法:csv.reader(iterable[, dialect="excel"][optional keyword args])
示例:
import csv
reader=csv.reader(open("test.csv", "码州rb"))
for item in reader:
print line
二、写入CSV
语法:csv.writer(fileobj [, dialect="excel"][optional keyword args])
示例:
import csv
writer=csv.writer(open("test.csv", "wb"))
writer.writerow(["col1", "col2", "col3"])
data=[range(3) for i in range(3)]
for item in data:
writer.writerow(item)
须注意之处:writer.writerow()方法中的参数是list类型,如果你想在A1列写入"hello",则必须是writer.writerow(["hello"]),不然"hello"会被看成是个list从而被分写入5列。
写入CSV时,CSV文件的创建必须加上"b"参数,即csv.writer(open("test.csv","wb")),不然会出现隔行的现象。网上搜到的解释是:python正常写好唤入文件的时候,每行的结束迟袜蔽默认添加" ’,即0x0D,而writerow命令的结束会再增加一个0x0D0A,因此对于windows系统来说,就是两行,而采用’b"参数,用二进制进行文件写入,系统默认是不添加0x0D的。
EXCEL表格显示乱码的原因
1、CSV是逗号分隔值的英文缩写,通常都是纯文本文件。CSV格式宽唯是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符。通常CSV文件可以用EXCEL正常打开,但是许多人都有这样的经历,使用EXCEL打开后,原本应该出现中文地方都变成乱码了。
2、分析一下此种情况的内在原因。在简体中文环境下,EXCEL打开的CSV文件默认是凯巧仿ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码可能就会盯纤出现文件乱码的情况。
EXCEL表格显示乱码的解决方法
1、使用记事本打开CSV文件。
2、将文件保存为ansi编码格式。
3、再用EXCEL打开,乱码消失了。
方法一:颂孙import csv
f = open("C:\\Users\\windows10\\Desktop\\Python练习\\文本流\\raw循环合并.csv")
csv_reader = csv.reader(f,dialect='excel') # dialect='excel'为EXCEL编码风格,否则无法读取首行
for line in csv_reader:
print(line)123456
方法二:
import csv
f = open("C:\\Users\\windows10\\Desktop\\Python练习\\液樱锋文本流\闹晌\raw循环合并.csv")
csv_reader = csv.reader(f) # 分割符号,默认,根据不同情况进行设置
data= []
for line in csv_reader:
data.append([x for x in line[:len(line)]]) #[x for x in line[:len(line)]]:形成一个行列表,对每行逐个字符串,进行追加; data.append():对添加一个行列表
print(data)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)