我有一個CSV文件,其行數可變(並且沒有列標題)。例如。該文件可以從一些有23列的行開始,然後有一些有83列的行等等。現在,當read_csv()開始讀取文件時,它會猜測前幾行被讀取後的列數(我認爲),所以如果數據行在開始的時候比結束時短,我得到下面的例外。有沒有辦法將參數傳遞給函數來將列數設置爲某個最大值?還是有更好的方法來做到這一點?Pandas read_csv - 具有可變列數的行
謝謝。
CParserError:標記數據出錯。 C的誤差:預期在管線150 23個字段,鋸83
我有一個CSV文件,其行數可變(並且沒有列標題)。例如。該文件可以從一些有23列的行開始,然後有一些有83列的行等等。現在,當read_csv()開始讀取文件時,它會猜測前幾行被讀取後的列數(我認爲),所以如果數據行在開始的時候比結束時短,我得到下面的例外。有沒有辦法將參數傳遞給函數來將列數設置爲某個最大值?還是有更好的方法來做到這一點?Pandas read_csv - 具有可變列數的行
謝謝。
CParserError:標記數據出錯。 C的誤差:預期在管線150 23個字段,鋸83
# coding: utf-8
# In[16]:
def params(text):
pairs = text.split("|")
print pairs
out = {i.split("=")[0]:i.split("=")[1] for i in pairs}
return pd.Series(out)
params("asd=2|qwe=5")
# In[27]:
import pandas as pd
aa = pd.DataFrame({'id':[1,2],'text':["asd=2|qwe=5","asd=20|qwe=5|qzxc=5"]})
aa
# In[29]:
aa['text'].apply(params)
# In[30]:
pd.concat([aa,aa['text'].apply(params)],1)
http://stackoverflow.com/questions/15242746/handling-variable-number-of-columns-with-pandas-python –
我想將此問題標記爲可能的@NicholasFlees提到的問題的重複 – Sudhi
[處理可變數量的列與Pandas - Python]可能的重複(https://stackoverflow.com/questions/15242746/handling-variable-number-of-列與熊貓-python) – Sudhi