2017-02-28 8 views
1

Ich versuche CSV-Datei zu lesen und dann in Datenrahmen zu konvertieren, aber ich weiß nicht, warum alle Spalten in der ersten Zeile und sogar mit Trennzeichen oder Trennzeichen entweder ohne angezeigt werden Ich kann sie nicht trennen. Ich weiß nicht, wie man den Code ändert, um ein korrektes Ergebnis zu erhalten. Hier ist eine Zeile der DateiPandas read_csv analysiert nicht korrekt CSV-Datei

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

wenn entfernt 'delimeter', das gleiche Problem? – jezrael

+0

weil Standardtrennzeichen 'sep = ','' – jezrael

+0

ja, es ist genau dasselbe. Ich habe genaue Zeile von CSV für den Versuch gesetzt. –

Antwort

0

Sie quoting-QUOTE_NONE in read_csv setzen müssen:

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 
Verwandte Themen