我有〜15000行,看起來像這樣read_csv缺失/不完整的標題或不規則的列數
SAMPLE_TIME, POS, OFF, HISTOGRAM
2015-07-15 16:41:56, 0-0-0-0-3, 1, 2,0,5,59,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
2015-07-15 16:42:55, 0-0-0-0-3, 1, 0,0,5,9,0,0,0,0,0,2,0,0,0,50,0,
2015-07-15 16:43:55, 0-0-0-0-3, 1, 0,0,5,5,0,0,0,0,0,2,0,0,0,0,4,0,0,0,
2015-07-15 16:44:56, 0-0-0-0-3, 1, 2,0,5,0,0,0,0,0,0,2,0,0,0,6,0,0,0,0
我想它導入到pandas.DataFrame
與提供給列的任何隨機值file.csv
那沒有一個頭,這樣的事情:
SAMPLE_TIME, POS, OFF, HISTOGRAM 1 2 3 4 5 6
2015-07-15 16:41:56, 0-0-0-0-3, 1, 2, 0, 5, 59, 4, 0, 0,
2015-07-15 16:42:55, 0-0-0-0-3, 1, 0, 0, 5, 0, 6, 0, nan
2015-07-15 16:43:55, 0-0-0-0-3, 1, 0, 0, 5, 0, 7, nan nan
2015-07-15 16:44:56, 0-0-0-0-3, 1, 2, 0, 5, 0, 0, 2, nan
這已經不可能進口,因爲我嘗試了不同的解決方案,如爲specific a header,但仍然沒有喜悅,只有這樣,我才得以使它的工作是添加一個頭文件lly在.csv
文件中。這有點擊敗了自動化的目的!
然後我試圖this solution: 這樣做
lines=list(csv.reader(open('file.csv')))
header, values = lines[0], lines[1:]
它正確地讀給我15000元values
的〜列表中的文件,每一個元素都是字符串,其中每個字符串是正確的列表從文件解析的數據字段,但是當我嘗試這樣做:
data = {h:v for h,v in zip (header, zip(*values))}
df = pd.DataFrame.from_dict(data)
或本:
data2 = {h:v for h,v in zip (str(xrange(16)), zip(*values))}
df2 = pd.DataFrame.from_dict(data)
則非帶標題列消失和列的順序是完全混合。任何可能的解決方案的想法?
Python的2.7.10,蟒蛇2.1.0 Windows 7上的64位。Pandas 0.17.1,csv.1.0。我不明白你的不信。 https://gist.github.com/gregroberts/a6e6040c045ea9130fee –
所以輸入在一個單元格中具有所有這些值。我看到了我的錯誤。 –
是的,第一個例子是有很多問題的輸入 –