我有一些CSV數據,如下圖所示。我試圖把它變成一個合理的形式,所以我可以用'A'來繪製公共x軸[1,2,3]與y軸[18,22,24]和[58,68,55]和'B'作爲傳說。Python中的CSV到2D/3D的笨拙CSV列表
我目前的想法是,下面的結構將是最簡單的,雖然我重複的X軸。
[['A',[1,'A1',18],[2,'A2',22],[3,'A3',24]],
['B',[1,'B4',58],[2,'B4',68],[3,'B6',55]]]
這裏是醜陋的數據。正如你可能知道的那樣,A和B是標題。 18對應於A1在點1,22到A2在點2等。我試着檢查空的'單元格'並插入到當前數組中,但它變得非常混亂,而且我試圖擴展它以使它可以處理50列和20多行。
,A,B
1,A1,B4
,18,58
2,A2,B5
,22,68
3,A3,B6
,24,55
建議here是有益的,但我不能把它應用到我的情況。以下代碼適用於一列,但需要進一步操作並在向CSV文件添加其他列時發生故障。
import csv
arr = []
datafile = open('datafile1.csv', 'r', newline='')
reader = csv.reader(datafile)
for row in reader:
if row[0] != "":
#print(row)
arr.append(row)
elif row[1] != "":
arr[-1].insert(len(arr),row[1])
datafile.close()
在此先感謝您提供的任何幫助!
我會建議編輯您的原始數據,如果這是可能的。目前,這些行在標籤和數據之間交替。這裏只有6個真實的數據點。然後有一個索引(1,2,3)和標題(「A」,「B」)。 –
感謝您的回覆。不幸的是我堅持使用格式,這是令人沮喪的。將它全部放入列表中,逐行排列,然後從那裏操作會更好嗎?目前的方法使用Excel VBA,這非常緩慢和麻煩。 – PythonicRitual