如何用python处理csv数据,让其中的两列纯数字数据分割成四列
时间: 2023-05-27 14:02:42 浏览: 91
假设我们有一个名为“data.csv”的CSV文件,其中有两列数据“col1”和“col2”,我们想要将这两列数据分成四列“col1_new1”、“col1_new2”、“col2_new1”和“col2_new2”。下面是一个示例代码:
```python
import csv
with open('data.csv', 'r') as csv_file:
reader = csv.DictReader(csv_file)
# 定义新的表头
fieldnames = ['col1_new1', 'col1_new2', 'col2_new1', 'col2_new2']
# 打开新的CSV文件写入分割后的数据
with open('new_data.csv', 'w', newline='') as new_csv_file:
writer = csv.DictWriter(new_csv_file, fieldnames=fieldnames)
writer.writeheader()
# 逐行读取数据
for row in reader:
# 将字符串转换为整数
col1 = int(row['col1'])
col2 = int(row['col2'])
# 分割数据
col1_new1 = col1 // 1000
col1_new2 = col1 % 1000
col2_new1 = col2 // 1000
col2_new2 = col2 % 1000
# 写入新的CSV文件
writer.writerow({'col1_new1': col1_new1, 'col1_new2': col1_new2, 'col2_new1': col2_new1, 'col2_new2': col2_new2})
```
在这个示例代码中,我们首先导入了Python标准库中的csv模块来处理CSV数据。然后使用“with open”语句打开原始CSV文件,并使用csv.DictReader类来以字典形式读取数据。接着定义了新的表头“fieldnames”,用于写入到新的CSV文件中。然后使用“with open”语句再次打开新的CSV文件,并使用csv.DictWriter类来写入数据。这里需要注意,需要使用“writer.writeheader()”函数写入表头。接着使用一个for循环逐行读取原始CSV文件中的数据,并将字符串转换为整数。最后,分割两列数据,并使用“writer.writerow()”函数将分割后的数据写入到新的CSV文件中。
阅读全文