2016-09-22 25 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無關。