写入100行 5列数据demo
时间: 2024-03-04 22:49:41 浏览: 15
当您说“5列数据”时,您是指每行有5个数据项吗?如果是这样,这里是一些示例代码,可以将100行5列的数据写入CSV文件中:
```python
import csv
# 生成数据列表
data = []
for i in range(100):
row = [i+1, i*2, i**2, i/2, i%3]
data.append(row)
# 写入CSV文件
with open('data.csv', mode='w', newline='') as file:
writer = csv.writer(file)
for row in data:
writer.writerow(row)
```
这将生成一个名为“data.csv”的文件,其中包含100行5列的数据。每行数据包含五个数据项:第一个是行号(从1到100),后四个是随机生成的数字。您可以根据需要修改数据生成部分的代码。
相关问题
easyexcel 多条数据 写入一行
EasyExcel 是一个基于 Apache POI 封装的 Java Excel 操作工具,可以很方便地进行 Excel 文件的读写操作。如果要实现多条数据写入一行,可以使用 EasyExcel 的 `@ExcelProperty` 注解来标注实体类中的属性,同时还可以使用 `@WriteHandler` 注解来自定义写入处理器。
具体实现步骤如下:
1. 定义一个包含多条数据的实体类,使用 `@ExcelProperty` 注解来标注每个属性对应的 Excel 列。
```java
public class User {
@ExcelProperty(value = {"姓名", "第1条"}) // 第一条数据对应的列
private String name1;
@ExcelProperty(value = {"姓名", "第2条"}) // 第二条数据对应的列
private String name2;
// 省略其他属性和方法
}
```
2. 在写入 Excel 文件时,使用 `@WriteHandler` 注解来自定义写入处理器,将多条数据写入同一行。
```java
public class UserWriteHandler implements WriteHandler {
@Override
public void beforeSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
}
@Override
public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
}
@Override
public void afterRowCreate(WriteSheetHolder writeSheetHolder, WriteRowHolder writeRowHolder, Row row, Integer rowIndex, Integer relativeRowIndex, Boolean isHead) {
// 将第1条数据和第2条数据写入同一行
if (rowIndex == 0) {
Cell cell1 = row.createCell(0);
cell1.setCellValue("姓名");
Cell cell2 = row.createCell(1);
cell2.setCellValue("第1条");
Cell cell3 = row.createCell(2);
cell3.setCellValue("第2条");
}
}
@Override
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, WriteCellHolder writeCellHolder, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
}
@Override
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteHandler> list, WriteCellHolder writeCellHolder, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) {
if (!isHead && writeCellHolder.getColumnIndex() == 0) {
// 将第1条数据和第2条数据写入同一行
Row row = cell.getRow();
Cell cell1 = row.createCell(1);
cell1.setCellValue(((User) writeCellHolder.getOriginalValue()).getName1());
Cell cell2 = row.createCell(2);
cell2.setCellValue(((User) writeCellHolder.getOriginalValue()).getName2());
}
}
}
```
3. 在写入 Excel 文件时,使用 `EasyExcel.write()` 方法创建写入器,并在写入器中使用 `@ExcelProperty` 注解标注的实体类和自定义的写入处理器。
```java
public class Demo {
public static void main(String[] args) {
// 写入 Excel 文件
String fileName = "user.xlsx";
List<User> userList = new ArrayList<>();
userList.add(new User("张三", "李四"));
userList.add(new User("王五", "赵六"));
EasyExcel.write(fileName, User.class)
.registerWriteHandler(new UserWriteHandler())
.sheet()
.doWrite(userList);
}
}
```
以上就是使用 EasyExcel 实现多条数据写入一行的方法。
python将数据写入demo6.txt并读取文本文件每行最后一个字
可以使用Python内置的文件读写功能来实现。首先,使用`open()`函数打开文件并写入数据:
```python
with open('demo6.txt', 'w') as f:
f.write('Python is a popular programming language.\n')
f.write('It is used for web development, data analysis, artificial intelligence, and more.\n')
```
这段代码将两行文本写入名为`demo6.txt`的文件中。接下来,使用`open()`函数再次打开文件并读取每行最后一个字:
```python
with open('demo6.txt', 'r') as f:
for line in f:
last_char = line[-2]
print(last_char)
```
这段代码使用了`for`循环遍历文件的每一行,并使用切片取出每行的倒数第二个字符(因为每行都有一个换行符`\n`)。然后,使用`print()`函数打印出来。
完整代码如下:
```python
with open('demo6.txt', 'w') as f:
f.write('Python is a popular programming language.\n')
f.write('It is used for web development, data analysis, artificial intelligence, and more.\n')
with open('demo6.txt', 'r') as f:
for line in f:
last_char = line[-2]
print(last_char)
```
输出结果为:
```
e
.
```