我有包括列內換行符csv文件:與線CSV文件打破至R或Python熊貓
"id","comment","x"
1,"ABC\"xyz",123
2,"xyz\"abc",543
3,"abc
xyz",483
ID 3,例如含有這種換行符。
如何將它導入到python或R?另外,例如,我不介意這些換行符是否被替換爲空格。
我有包括列內換行符csv文件:與線CSV文件打破至R或Python熊貓
"id","comment","x"
1,"ABC\"xyz",123
2,"xyz\"abc",543
3,"abc
xyz",483
ID 3,例如含有這種換行符。
如何將它導入到python或R?另外,例如,我不介意這些換行符是否被替換爲空格。
Python內置了CSV閱讀器,可以爲你處理。見csv documentation。
import csv
with open(filename) as f:
reader = csv.reader(f)
csv_rows = list(reader)
問題似乎是不換行,而是列中的所有逸出上報價:\"
。
Python:zvone的答案工作正常!
import csv
with open(filename) as f:
reader = csv.reader(f)
csv_rows = list(reader)
R:readr::read_csv
無需更改任何默認值即可工作。
您還可以使用python熊貓庫read_csv函數。確保指定了轉義字符。
import pandas as pd
df = pd.read_csv('path_to_csv', sep=',', escapechar='\\')
請注意第二個反斜槓轉義第一個。它與熊貓或csv無關。
看看這個http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html,你可以設置分隔符,標題和幾乎所有你需要的東西。它只是'df = pd.read_csv(文件路徑)' –
換行符不會有問題,它們可以通過R的'read.csv'和pandas''read_csv'正確處理。然而,在你的文件中,雙引號沒有正確轉義(應該是「」而不是\「),這一點可能會有問題。 – Scarabee
在R中,'read.csv'有轉義問題,但'readr :: read_csv'和'data.table :: fread'在不進行進一步參數調整的情況下處理它很好 – alistaire