如何使用 jupyter 转置 csv 文件?



免责声明,我是编码初学者,所以请放轻松,提前感谢

在 jupyter 中使用 python 将数据保存到 csv 文件之前,如何转置数据?

这是我的代码:

import csv
Col1 = "Product Name"
Col2 = "Product Image Is Thumbnail - 1"
Col3 = "Product Code/SKU"
Col4 = "Product Description"
Col5 = "Price"
Col6 = "Cost Price"
Col7 = "Product Image File - 1"
Col8 = "Product Image File - 2"

mydictionary={Col1:[], Col2:[], Col3:[], Col4 :[], Col5:[], Col6:[],  Col7:[], Col8:[]}
csvFile = csv.reader(open("wedding.csv"))
for row in csvFile:
mydictionary[Col1].append(row[2])
mydictionary[Col2].append(row[6])
mydictionary[Col3].append(row[4])
mydictionary[Col4].append(row[11]) 
mydictionary[Col5].append(row[7])
mydictionary[Col6].append(row[8])
mydictionary[Col7].append(row[9])
mydictionary[Col8].append(row[10])

print (mydictionary)
with open('test.csv', 'w') as csv_file1:
writer = csv.writer(csv_file1, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
for key, value in mydictionary.items():
writer.writerow([key, value])``

您未正确构建数据对象。CSV 是数据行,因此最好的选择是创建一个行数组,然后将其写出。像这样:

import csv
# First row is the title row
rows = [(
"Product Name",
"Product Image Is Thumbnail - 1",
"Product Code/SKU",
"Product Description",
"Price",
"Cost Price",
"Product Image File - 1",
"Product Image File - 2"
)]
csvFile = csv.reader(open("wedding.csv"))
for row in csvFile:
# add a row of data transposing positions as desired
# NOTE: the double parenthesis are intentional, we're appending a tuple to the array  
rows.append((row[2], row[6], row[4], row[11], row[7], row[8], row[9], row[10]))
print(rows)
with open('test.csv', 'w') as csv_file1:
writer = csv.writer(csv_file1, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
for row in rows:
# write out each row
writer.writerow(row)

最新更新