python实现按指定列拆分csv文件
时间: 2023-08-06 20:04:18 浏览: 117
如果要按照指定的列拆分csv文件,可以使用pandas库来实现。以下是一个简单的示例代码:
```python
import pandas as pd
# 读取csv文件
df = pd.read_csv('example.csv')
# 按指定列拆分
for col in ['col1', 'col3']:
# 获取指定列的数据
col_data = df[col]
# 创建新的csv文件并写入数据
col_data.to_csv(f'{col}.csv', index=False)
```
这段代码将会把名为`example.csv`的文件按照指定的列`col1`和`col3`拆分成两个文件,文件名分别为`col1.csv`和`col3.csv`,文件中仅包含对应列的数据,不包含列头。如果需要包含列头,只需在每个拆分的文件中添加`header=[col]`参数即可。
相关问题
python按指定列拆分csv文件
您可以使用Python的csv模块来按指定列拆分CSV文件。以下是一个示例代码,可以按照您指定的列拆分CSV文件:
```python
import csv
def split_csv(input_file, output_files, column):
with open(input_file, 'r') as file:
reader = csv.reader(file)
headers = next(reader) # 获取CSV文件的头部
output_writers = {}
for output_file in output_files:
output_writers[output_file] = csv.writer(open(output_file, 'w', newline=''))
output_writers[output_file].writerow(headers) # 将头部写入每个拆分文件
for row in reader:
column_value = row[column] # 获取指定列的值
output_writers[column_value].writerow(row) # 将行写入对应的拆分文件
for output_file in output_files:
output_writers[output_file].close()
input_file = 'input.csv'
output_files = ['output1.csv', 'output2.csv'] # 拆分后的输出文件列表
column = 2 # 指定用于拆分的列索引
split_csv(input_file, output_files, column)
```
在上述代码中,您需要指定输入文件的路径(`input_file`)和输出文件的列表(`output_files`),以及用于拆分的列索引(`column`)。代码将按照指定列的值将行写入对应的拆分文件中。
请注意,此示例代码假设CSV文件的第一行是头部,并将头部写入每个拆分文件。您可以根据需要进行调整。
python实现按列拆分csv文件
可以使用Python中的csv模块来实现按列拆分csv文件。以下是一个简单的示例代码:
```python
import csv
# 打开csv文件
with open('example.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
headers = next(reader) # 获取列头
# 创建新的csv文件并写入列头
for i, header in enumerate(headers):
with open(f'column_{i}.csv', mode='w', newline='') as outfile:
writer = csv.writer(outfile)
writer.writerow([header])
# 逐行读取数据,写入对应的列文件中
for row in reader:
for i, value in enumerate(row):
with open(f'column_{i}.csv', mode='a', newline='') as outfile:
writer = csv.writer(outfile)
writer.writerow([value])
```
这段代码将会把名为`example.csv`的文件按照每一列拆分成多个文件,文件名为`column_0.csv`、`column_1.csv`、`column_2.csv`...分别对应原文件的第1列、第2列、第3列...每个拆分出来的文件只包含对应的一列数据。
阅读全文