pandas-read_excel语法错误

时间:2018-06-15 20:50:25

标签: python pandas

我试图从excel电子表格的第二张表中读取一些数据。跳过前18行,只有C到F列。这就是我试过的

import pandas as pd

new_file=pd.read_excel("C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5]) 

当我运行此操作时,我收到以下错误

runfile('C:/Users/denis/Documents/Dissertation/Code/test.py', wdir='C:/Users/denis/Documents/Dissertation/Code')
  File "C:/Users/denis/Documents/Dissertation/Code/test.py", line 9
    new_file=pd.read_excel("C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5])
                          ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

有谁知道造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:2)

你要么必须逃避反斜杠,要么使用前面的r表示原始字符串,即

new_file=pd.read_excel(r"C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5]))

new_file=pd.read_excel("C:\\Users\\denis\\Documents\\Dissertation\\Raw Data\\CO\\1213Q1.xls",sheetname=1, skiprows=18, parse_cols=[2,5]))

答案 1 :(得分:1)

看看这个问题:"Unicode Error "unicodeescape" codec can't decode bytes... Cannot open text files in Python 3

我建议不要将str作为第一个参数传递,而是让pathlib.Path为您处理。此外,docs指定sheetnameparse_cols已弃用,skiprows应与列表类似。

from pathlib import Path
import pandas as pd

p = Path('C:\Users\denis\Documents\Dissertation\Raw Data\CO\1213Q1.xls')
df = pd.read_excel(
    p, 
    sheet_name=1, 
    skiprows=list(range(18)), # skip first 18 rows (0-indexed)
    parse_cols=list(range(2, 6)) # only parse columns 2 (C) to 5 (F)
)