【问题标题】:Reading csv like file to pandas读取 csv 之类的文件到熊猫
【发布时间】:2017-10-27 12:52:15
【问题描述】:

我正在尝试将 Excel 文件读入pandas,但收到消息format and extension of the file don't match

当我尝试使用read_excel 时,我收到一条错误消息,因此我使用read_csv

这就是问题所在;我的 'Excel like' 文件在某些​​行上有空单元格,它会创建一个奇怪的 df,其中一些字段被移动:


我的代码如下:

2010 = pd.read_csv(r'{0}\\file.xls'.format(path_temp),sep = 
r'\t*',encoding='iso-8859-2')

在输出中,Outcome 列出现在第 8 行数据框的第 6 列(日期 4)中。您知道解决方法吗?我需要每 15 分钟自动加载一次这个文件,这意味着我想避免手动打开并保存为 excel

【问题讨论】:

  • 你能发布一个示例文件吗?使用read_excel 打开时的错误信息是什么?
  • 它说不支持的格式或损坏的文件。预期 BOF 等...
  • 在文本编辑器中打开它会是什么样子?
  • 如果您滚动到底部并下载任何 zip 文件,您可以找到一个示例:clients.rte-france.com/lang/fr/visiteurs/vie/prod/…
  • 使用文本编辑器,文件以“ID...”开头

标签: excel pandas export-to-csv


【解决方案1】:

您的分隔符是一个正则表达式。 sep=r'\t*' 匹配任意数量的连续制表符,因此应该将空白单元格视为单个分隔符。请改用sep='\t'

【讨论】:

  • 非常感谢,这对空单元格有效!我
  • 我知道某些单元格包含引号的问题,其中包含一系列 ---- 。尽管使用 quotechar = ' " ' 参数,那些----确实会创建一个换行符。这是我的代码:pd.read_csv(r'{0}\\DonneesIndisponibilitesProduction_2017.xls'.format(path_temp),delimiter=r '\t',encoding='iso-8859-2',quoting=csv.QUOTE_ALL, quotechar = '"') 我错过了什么吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2017-01-15
  • 1970-01-01
  • 2017-05-09
  • 2020-10-06
相关资源
最近更新 更多