pandas21 读csv文件read_csv(8.方言和分隔符)(详细 tcy)

方言和分隔符 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  

猜你喜欢

转载自blog.csdn.net/tcy23456/article/details/85291994