2017-02-28 94 views
1

我想讀取csv文件,然後將其轉換爲數據幀,但我不知道爲什麼所有的列都顯示在第一行,甚至與分隔符或分隔符或者沒有他們我無法分開他們。我不知道如何更改代碼才能獲得正確的結果? 這裏是文件熊貓read_csv不正確解析csv文件

1330-5235-5560-xxxxx,"Jan 1, 2017",12:35:13 AM PST,,Charge,,Smart Plan (Calling & Texting),com.xxx,1,unlimited_usca_tariff_and,astar-y3,US,NC,27288,USD,4.99,0.950333,EUR,9.49 

enter image description here

+0

如果去掉'delimeter',同樣的問題? – jezrael

+0

因爲默認分隔符'sep =','' – jezrael

+0

是的,它完全一樣。我已經把確切的csv行嘗試。 –

回答

0

需要在read_csv設置quotingQUOTE_NONE的一行:

import csv 

df = pd.read_csv('sample.csv', quoting=csv.QUOTE_NONE) 

#sum some columns 
df['Transaction Date'] = df['Description'] + df['Transaction Date'] 
#create column from index 
df['Description'] = df.index 

#remove " from values 
df['Description'] = df['Description'].str.strip('"') 
df['Transaction Date'] = df['Transaction Date'].str.strip('"') 
df['Amount (Merchant Currency)'] = df['Amount (Merchant Currency)'].str.strip('"') 
                    .astype(float) 

df = df.reset_index(drop=True) 
print (df.head(1)) 


      Description Transaction Date Transaction Time Tax Type \ 
0 8330-5235-5560-88882  Jan 8 2084 82:35:83 AM PST  NaN 

    Transaction Type Refund Type     Product Title Product id \ 
0   Charge   NaN Smart Plan (Calling & Texting) com.fight 

    Product Type    Sku Id Hardware Buyer Country Buyer State \ 
0    8 unlimited_usca_and astar-y3   US   NC 

    Buyer Postal Code Buyer Currency Amount (Buyer Currency) \ 
0    24288   USD      9.99 

    Currency Conversion Rate Merchant Currency Amount (Merchant Currency) 
0     0.95028    EUR      9.49