2016-09-22 26 views
0

我有包括列内换行符csv文件:与线CSV文件打破至R或Python熊猫

"id","comment","x" 
1,"ABC\"xyz",123 
2,"xyz\"abc",543 
3,"abc 
xyz",483 

ID 3,例如含有这种换行符。

如何将它导入到python或R?另外,例如,我不介意这些换行符是否被替换为空格。

+1

看看这个http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html,你可以设置分隔符,标题和几乎所有你需要的东西。它只是'df = pd.read_csv(文件路径)' –

+0

换行符不会有问题,它们可以通过R的'read.csv'和pandas''read_csv'正确处理。然而,在你的文件中,双引号没有正确转义(应该是“”而不是\“),这一点可能会有问题。 – Scarabee

+0

在R中,'read.csv'有转义问题,但'readr :: read_csv'和'data.table :: fread'在不进行进一步参数调整的情况下处理它很好 – alistaire

回答

2

Python内置了CSV阅读器,可以为你处理。见csv documentation

import csv 

with open(filename) as f: 
    reader = csv.reader(f) 
    csv_rows = list(reader) 
2

问题似乎是不换行,而是列中的所有逸出上报价:\"

Python:zvone的答案工作正常!

import csv 

with open(filename) as f: 
    reader = csv.reader(f) 
    csv_rows = list(reader) 

R:readr::read_csv无需更改任何默认值即可工作。

0

您还可以使用python熊猫库read_csv函数。确保指定了转义字符。

import pandas as pd 
df = pd.read_csv('path_to_csv', sep=',', escapechar='\\') 

请注意第二个反斜杠转义第一个。它与熊猫或csv无关。