2017-08-09 456 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'))。

相关问题