Z.G*_*rey 3 python vim encoding utf-8 pandas
我正在阅读Pandas"烹饪书"第1章,bikes.csv的例子.当我尝试将parse_dates更改为['Date']时,dayfirst = True,index_col就像这样:( 在行中:在[6]中,在烹饪书的第1章中)
fixed_df = pd.read_csv('../data/bikes.csv', sep=';', encoding='latin1', parse_dates=['Date'], dayfirst=True, index_col='Date')
Run Code Online (Sandbox Code Playgroud)
我明白了: ValueError:'Date'不在列表中. 在我写这篇文章之前,我试试这些解决方案:
第1名: utf-8 bom问题
据我所知,在utf-8中使用bom会产生一些问题并导致此错误.另外"Dates"系列tuple在阅读时被大熊猫接受?(很抱歉,如果我用错误的单词写,但这是我记得的,我不是Python的专业人员)我尝试使用这个建议转换编码:"utf-8-sig"编解码器给出一个没有BOM的unicode字符串:
fp = open("file.txt")
s = fp.read()
u = s.decode("utf-8-sig")
Run Code Online (Sandbox Code Playgroud)
即使我没有得到任何错误,它也没有用.
第二名: Vim 我尝试这些来改变编码
iconv -f UTF-8 -t ISO-8859-1 infile.txt > outfile.txt
Run Code Online (Sandbox Code Playgroud)
还有这个,
vim +"set nobomb | set fenc=utf8 | x" filename.txt
Run Code Online (Sandbox Code Playgroud)
它们都不起作用.
第3步:当我用vim打开它时,我尝试更改文件编码.
set fileencoding=utf-8-sig (以及其他可能的编码,如ANSI,ASCII等)我收到此错误
E213:无法转换(添加!无需转换即可写入)
你能帮帮我吗,我在哪里错过?提前谢谢了
使用您提供的URL
url = 'http://donnees.ville.montreal.qc.ca/dataset/f170fecc-18db-44bc-b4fe-5b0b6d2c7297/resource/d54cec49-349e-47af-b152-7740056d7311/download/comptagevelo2012.csv'
df = pd.read_csv(url, sep=',', parse_dates={'datetime':[0, 1]}, index_col='datetime')
df.head()
Run Code Online (Sandbox Code Playgroud)
给
Rachel / Papineau Berri1 Maisonneuve_2 Maisonneuve_1 Brébeuf \
datetime
2012-01-01 16 35 51 38 5.0
2012-02-01 43 83 153 68 11.0
2012-03-01 58 135 248 104 2.0
2012-04-01 61 144 318 116 2.0
2012-05-01 95 197 330 124 6.0
Run Code Online (Sandbox Code Playgroud)
我已经更改了两个sep 和encoding 参数,因为该文件中的分隔符是逗号而编码是utf-8(默认值read_csv).有一个未命名的时间列,您也可以使用它来包含在解析中.在这个例子中,我认为它们都是零,但在其他情况下这可能是有用的.
| 归档时间: |
|
| 查看次数: |
3552 次 |
| 最近记录: |