pandas - 熊猫数据框导出行列值
问题描述
我使用 read_clipboard 将数据从 Excel 导入 python pandas。
import pandas as pd
df = pd.read_clipboard()
列索引是月份(一月、二月、...、十二月)。行索引是产品名称(橙色、香蕉等)。单元格中的值是月销售额。
如何导出以下格式的 csv
month;product;sales
为了使其更直观,我在第一张图像中显示了输入,以及输出应该如何在第二张图像中显示。
解决方案
您也可以使用 xlrd 包。样本 Book1.xlsx:
january february march
Orange 4 2 4
banana 2 6 3
apple 5 1 7
示例代码:
import xlrd
book = xlrd.open_workbook("Book1.xlsx")
print(book.sheet_names())
first_sheet = book.sheet_by_index(0)
row1 = first_sheet.row_values(0)
print(first_sheet.nrows)
for i in range(len(row1)):
if i !=0:
next_row = first_sheet.row_values(i)
for j in range(len(next_row)-1):
print("{};{};{}".format(row1[i],next_row[0],next_row[j+1]))
结果:
january;Orange;4.0
january;Orange;2.0
january;Orange;4.0
february;banana;2.0
february;banana;6.0
february;banana;3.0
march;apple;5.0
march;apple;1.0
march;apple;7.0
推荐阅读
- javascript - 如何选择 id 存储在变量中的元素的子元素?
- java - JSON 中的 LinkedHashMap 在 get() 上返回 null
- .net - .Net Core API 中的 Azure B2C
- php - 两个日期之间的时间
- c++ - 如何解除 std 智能指针的自定义删除功能?
- c# - 循环通过 Xamarin.Android 上的 NetworkInterfaces 时没有 GatewayAddresses
- javascript - 如何从数组中选择特定范围的对象
- python - 模块“django.db.models”没有属性“FieldDoesNotExist”
- java - 使用组合来利用 Java 抽象集合类的继承是不好的做法吗?
- apache-spark - 逐行合并火花数据帧