方言和分隔符 2018/12/26
目录:
第1部分:csv文本文件读写
pandas 读csv文件read_csv(1.文本读写概要)https://mp.csdn.net/postedit/85289371
pandas 读csv文件read_csv(2.read_csv参数介绍)https://mp.csdn.net/postedit/85289928
pandas 读csv文件read_csv(3.dtypes指定列数据类型)https://mp.csdn.net/postedit/85290575
pandas 读csv文件read_csv(4.to_csv文本数据写)https://mp.csdn.net/postedit/85290962
pandas 读csv文件read_csv(5.文本数据读写实例)https://mp.csdn.net/postedit/85291123
pandas 读csv文件read_csv(6.命名和使用列)https://mp.csdn.net/postedit/85291430
pandas 读csv文件read_csv(7.索引)https://mp.csdn.net/postedit/85291658
pandas 读csv文件read_csv(8.方言和分隔符)https://mp.csdn.net/postedit/85291994
pandas 读csv文件read_csv(9.浮点转换和NA值)https://mp.csdn.net/postedit/85292391
pandas 读csv文件read_csv(10.注释和空行)https://mp.csdn.net/postedit/85292609
pandas 读csv文件read_csv(11.日期时间处理) https://mp.csdn.net/postedit/85292925
pandas 读csv文件read_csv(12.迭代和块)https://mp.csdn.net/postedit/85293639
pandas 读csv文件read_csv(13.read_fwf读固定宽度数据)https://mp.csdn.net/postedit/85294010
第2部分:
pandas hdf文件读写简要https://mp.csdn.net/postedit/85294299
pandas excel读写简要https://mp.csdn.net/postedit/85294545
第3部分:
python中csv模块用法tcy https://mp.csdn.net/postedit/85228189
pandas读csv文件read_csv错误解决办法7种https://mp.csdn.net/postedit/85228808
pandas to_string用法https://mp.csdn.net/postedit/85294935
方言:
# 该dialect关键字默认用Excel方言,但您可以指定方言名称或csv.Dialect实例。
# 所有方言选项都可以通过关键字参数单独指定
#实例1:dialect
print(data)
label1,label2,label3
index1,"a,c,e
index2,b,d,f
# 使用dialect:
dia = csv.excel()
dia.quoting = csv.QUOTE_NONE
pd.read_csv(StringIO(data), dialect=dia)
label1 label2 label3
index1 "a c e #数据包含引号
index2 b d f
# 实例2:lineterminator行分隔符
data = 'a,b,c~1,2,3~4,5,6'
pd.read_csv(StringIO(data), lineterminator='~')
a b c
0 1 2 3
1 4 5 6
# 实例3:方言选项skipinitialspace,在分隔符后跳过任何空格:
data = 'a, b, c\n1, 2, 3\n4, 5, 6'
pd.read_csv(StringIO(data), skipinitialspace=True)
a b c
0 1 2 3
1 4 5 6
2.转义字符:
# 嵌入字段中的引号(和其他转义字符)可以通过多种方式处理。
# 一种方法是使用反斜杠; 要正确解析此数据,您应该传递escapechar选项:
data = 'a,b\n"hello, \\"Bob\\", nice to see you",5'
print(data)
a,b
"hello, \"Bob\", nice to see you",5
pd.read_csv(StringIO(data), escapechar='\\')
a b
0 hello, "Bob", nice to see you 5
3.自动“嗅探”分隔符
# read_csv用csv.Sniffer csv模块的类;指定sep=None能够推断分隔(不一定是逗号分隔)的文件。
print(open('tmp2.sv').read())
data=':0:1:2:3\n' \
'0:0.46:-0.28:-1.5:-1.135\n' \
'1:1.21:-0.17:0.1:-1.044\n' \
'2:-0.8:-2.1:-0.49:1.07\n' \
'3:0.7:-0.7:-1.03:0.27 '
pd.read_csv(StringIO(data), sep=None, engine='python')
Unnamed: 0 0 1 2 3
0 0 0.46 -0.28 -1.50 -1.135
1 1 1.21 -0.17 0.10 -1.044
2 2 -0.80 -2.10 -0.49 1.070
3 3 0.70 -0.70 -1.03 0.270