#Dataframe数据塞进列表 listbook2 = [] listbook = [] for i in range(book2.iloc[:,0].size): #生成列表 s = book2.iloc[i]['Age'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Sex'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Marital status?'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Education'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Employement'] s = s.strip() listbook.append(s) s = book2.iloc[i]['How many books did you read during last 12months?'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Read any printed books during last 12months?'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Read any audiobooks during last 12months?'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Read any e-books during last 12months?'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Do you happen to read any daily news or newspapers?'] s = s.strip() listbook.append(s) s = book2.iloc[i]['Do you happen to read any magazines or journals?'] s = s.strip() listbook.append(s) listbook2.append(listbook.copy()) listbook.clear()
时间: 2023-06-26 12:09:58 浏览: 53
这段代码是将一个名为book2的DataFrame数据,转换成了一个二维列表listbook2。其中,每一行数据都被转换成了一个包含多个元素的列表listbook,并且这些列表按顺序存储在listbook2中。
具体来说,这个代码首先定义了两个空列表listbook和listbook2,然后通过循环遍历book2的每一行数据。对于每一行数据,都将其中的每个元素提取出来,并去除两端的空格,然后添加到listbook中。最后,将这个已经填满数据的listbook复制一份添加到listbook2中,并清空listbook以便下一次循环使用。最终,listbook2就成为了一个由多个listbook组成的二维列表,其中每个listbook都代表了一行数据。
相关问题
xlwings读取pd.DataFrame第一列乘以第二列数据 是成本
可以使用xlwings的Range对象来读取DataFrame中的数据,并计算成本。具体实现可以参考以下代码:
```python
import xlwings as xw
import pandas as pd
# 读取Excel中的数据
wb = xw.Book('example.xlsx')
sheet = wb.sheets['Sheet1']
df = sheet.range('A1').options(pd.DataFrame, header=1, index=False, expand='table').value
# 计算成本
cost = df.iloc[:, 0] * df.iloc[:, 1]
# 将结果写入Excel
sheet.range('C1').value = cost
```
上述代码中,首先使用xlwings的Range对象读取Excel中的数据,并将其转换为DataFrame格式。然后,计算成本并将结果写入Excel。其中,`iloc[:, 0]`表示取DataFrame中的第一列数据,`iloc[:, 1]`表示取第二列数据。最终的成本结果存储在`cost`变量中,可以直接赋值给Excel中的单元格。
xlwings读取pd.DataFrame第一列成第二列数据 是成本
我不确定你的问题是什么,但是我尝试回答一下。
如果你想将一个DataFrame的第一列复制到第二列,可以使用以下代码:
```python
import pandas as pd
import xlwings as xw
# 打开Excel文件
wb = xw.Book('example.xlsx')
# 选择Sheet
sheet = wb.sheets['Sheet1']
# 读取DataFrame
df = sheet.range('A1').options(pd.DataFrame, header=1, index=False, expand='table').value
# 复制第一列到第二列
df.iloc[:, 1] = df.iloc[:, 0]
# 将修改后的DataFrame写入Excel
sheet.range('A1').options(index=False, header=True).value = df
```
这段代码做了以下几件事情:
1. 打开Excel文件并选择Sheet1。
2. 读取A1单元格开始的数据区域作为DataFrame,其中第一行被视为列名。
3. 将DataFrame的第一列复制到第二列。
4. 将修改后的DataFrame写回Excel文件中的A1单元格。
如果你想做其他事情,比如计算成本或者将结果写入其他单元格,可以在代码中添加相应的代码。