2017-08-09 50 views
2

我需要從example.csv中提取所有信息。該文件具有的信息三個部分,如下的格式爲:
如何使用pandas read_csv()來讀取包含多個表的文件?

Date,2017/07/15,Time,20:00, 
ColA, ColB, ColC, 
1, 2, 3, 
4, 5, 6, 
ColD, ColE 
7, 8, 

我用df=pd.read_csv('example.csv', header=None)讀取來自CSV的所有信息,但我只收到錯誤消息。我的目標是擁有一張如下表格:

Date  Time ColA_1 ColB_1 ColC_1 ColA_2 ColB_2 ColC_2 ColD ColE 
2017/07/15 20:00 1  2  3  4  5  6  7  8  

請幫忙。謝謝。

+1

是否每個文件都像上面的_example.csv_將採用相同的格式,還是取決於文件? –

+0

csv中的什麼時候開始新表格? – DJK

+0

考慮修復該文件的來源,而不是熊貓中的數據糾結頭痛。 – Parfait

回答

0

你格式化的願望是非常具體的,所以我真的沒有看到什麼比簡單如下:

# Load this using open from the csv  
s = "Date,2017/07/15,Time,20:00\nColA, ColB, ColC\n1, 2, 3\n4, 5, 6\nColD, ColE\n7, 8" 
s = s.replace(" ", "") 

s_arr = s.split('\n') 
s_arr = [x.split(',') for x in s_arr] 
columns = [s_arr[0][0], s_arr[0][2]] + s_arr[1][0:3] + s_arr[4][0:2] 
row = [s_arr[0][1], s_arr[0][3],[s_arr[2][0],s_arr[3][0]],[s_arr[2][1],s_arr[3][1]],[s_arr[2][2],s_arr[3][2]]] + s_arr[5][0:2] 

這給:

columns = ['Date', 'Time', 'ColA', 'ColB', 'ColC', 'ColD', 'ColE'] 
row = ['2017/07/15', '20:00', ['1', '4'], ['2', '5'], ['3', '6'], '7', '8'] 

列表可以被用來初始化大熊貓表。根據行在csv中的組織方式,您可能需要將其分成另一個級別(例如,如果行之間有兩條白線,則可以使用split('\n\n'))。

相關問題