python读取csv文件然后将指定列截取字符串,符合条件的输出到另一个csv文件中
时间: 2023-08-14 14:04:39 浏览: 206
好的,可以使用Python中的csv模块来读取和写入csv文件,具体步骤如下:
1. 读取csv文件,获取指定列数据
```python
import csv
input_file = 'input.csv'
output_file = 'output.csv'
target_col = 2 # 指定列,从0开始计数
with open(input_file, 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
rows = [row[target_col] for row in reader]
```
2. 对指定列数据进行字符串截取,筛选符合条件的数据
```python
filtered_rows = []
for row in rows:
if '条件' in row: # 根据条件筛选数据
filtered_rows.append(row[:10]) # 截取前10个字符并添加到列表中
```
3. 将筛选后的数据写入新的csv文件
```python
with open(output_file, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
for row in filtered_rows:
writer.writerow([row]) # 写入新的csv文件中
```
完整代码如下:
```python
import csv
input_file = 'input.csv'
output_file = 'output.csv'
target_col = 2 # 指定列,从0开始计数
with open(input_file, 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
rows = [row[target_col] for row in reader]
filtered_rows = []
for row in rows:
if '条件' in row: # 根据条件筛选数据
filtered_rows.append(row[:10]) # 截取前10个字符并添加到列表中
with open(output_file, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
for row in filtered_rows:
writer.writerow([row]) # 写入新的csv文件中
```
请注意将上述代码中的`input.csv`替换为你要读取的csv文件名,`output.csv`替换为你要输出的csv文件名,`target_col`替换为你要截取字符串的列位置。同时,请将代码中的'条件'替换为你要筛选的字符串条件。
阅读全文