读入csv文件 并将文件的第一列int数字从小到大排列每行数据跟随改变 并保存原csv文件的前两行
时间: 2024-04-15 17:28:38 浏览: 177
理解了你的需求。下面是更新后的代码,它可以读取CSV文件,并按照第一列的整数值从小到大进行排序。同时,它还会将排序后的数据保存到新的CSV文件中,并保留原始CSV文件的前两行:
```python
import csv
# 读取CSV文件
input_filename = 'data.csv' # 替换为你的输入文件名
output_filename = 'sorted_data.csv' # 替换为你的输出文件名
data = []
with open(input_filename, 'r') as file:
reader = csv.reader(file)
header = next(reader) # 读取并保存头部信息
data.append(header) # 将头部信息加入数据列表
second_row = next(reader) # 读取并保存第二行数据
data.append(second_row) # 将第二行数据加入数据列表
for row in reader:
data.append(row)
# 将第一列转换为整数并排序
data = [[int(row[0])] + row[1:] for row in data[2:]]
data.sort()
# 保存原始CSV文件的前两行和排序后的数据到新的CSV文件
with open(output_filename, 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(header) # 写入头部信息
writer.writerow(second_row) # 写入第二行数据
for row in data:
writer.writerow(row)
print("数据已成功排序并保存到文件:", output_filename)
```
请将代码中的`data.csv`替换为你要读取的CSV文件的路径和文件名,将`sorted_data.csv`替换为你要保存排序后数据的路径和文件名。代码会先读取CSV文件的头部信息和第二行数据,并将它们存储在`header`和`second_row`变量中。然后,它会继续读取剩余的行数据,并将它们添加到`data`列表中。
接下来,代码将第一列转换为整数,并对剩余行进行排序。最后,它会将原始CSV文件的头部信息、第二行数据以及排序后的数据写入到新的CSV文件中。
希望这次修改满足了你的要求!如果还有其他问题,请随时提问。
阅读全文