Python读取csv取第一列依次后写入txt
时间: 2023-05-12 15:04:56 浏览: 269
可以使用Python的csv模块和文件操作来实现这个功能。以下是一个示例代码:
```python
import csv
with open('input.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
with open('output.txt', 'w') as txt_file:
for row in csv_reader:
txt_file.write(row[0] + '\n')
```
这个代码会读取名为input.csv的文件,将每行的第一列写入名为output.txt的文件中。你可以根据自己的需求修改文件名和路径。
相关问题
python 读取csv文件的一列到txt
### 使用Python提取CSV文件中的某一列并保存至TXT文件
为了实现这一目标,可以利用`pandas`库来简化操作过程。下面展示了一个具体的例子,该实例展示了如何从CSV文件中读取特定的一列,并将其内容写入到一个新的TXT文件中。
#### 导入库
首先需要导入必要的库:
```python
import pandas as pd
```
#### 读取CSV文件
接着定义函数用于读取CSV文件,并从中选取所需的那一列数据。考虑到可能存在编码问题,在这里指定了编码方式以及解析引擎以避免潜在的错误[^1]。
```python
def read_csv_column(file_path, column_name):
try:
df = pd.read_csv(file_path, usecols=[column_name], engine='python', encoding='utf-8')
return df[column_name].tolist()
except Exception as e:
print(f"Error occurred while reading CSV file: {e}")
return None
```
#### 将列表保存为TXT文件
创建另一个辅助函数负责把之前获取的数据序列化成字符串形式,并逐行写入新的TXT文档内。
```python
def save_list_to_txt(data_list, output_file):
with open(output_file, 'w', encoding='gb2312') as f:
for item in data_list:
f.write("%s\n" % item)
```
#### 主程序逻辑
最后组合上述两个功能模块完成整个流程的任务调用。
```python
if __name__ == "__main__":
input_csv = "example.csv"
output_txt = "output.txt"
target_column = "target"
extracted_data = read_csv_column(input_csv, target_column)
if extracted_data is not None and len(extracted_data)>0:
save_list_to_txt(extracted_data, output_txt)
print("Data has been successfully written to the TXT file.")
else:
print("Failed to extract or write any data.")
```
此段代码实现了从给定路径下的CSV文件中抽取名为`target`的那一列的内容,并将这些值依次存放到同一目录下新建立起来的名字叫作`output.txt`的文字档里面去。注意当处理含有中文字符的情况下设置合适的编码格式是非常重要的。
python读取csv文件并逐列保存到txt
### 回答1:
文件中的代码应该怎么写?
可以使用Python内置的csv模块来读取csv文件,然后逐列保存到txt文件中。以下是一个示例代码:
```python
import csv
with open('data.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for i, column in enumerate(zip(*csv_reader)):
with open(f'column_{i}.txt', 'w') as txt_file:
txt_file.write('\n'.join(column))
```
这个代码会读取名为"data.csv"的csv文件,并将每一列保存到以"column_"开头的txt文件中。
### 回答2:
首先,我们需要使用Python的csv模块来读取csv文件。然后,我们可以使用文件操作来逐列保存到txt文件。
以下是一个实现这个功能的示例代码:
```python
import csv
# 读取csv文件
with open('data.csv', 'r') as csv_file:
reader = csv.reader(csv_file)
# 获取所有列数据
columns = zip(*reader)
# 逐列保存到txt文件
for i, column in enumerate(columns):
with open(f'column{i+1}.txt', 'w') as txt_file:
for data in column:
txt_file.write(f'{data}\n')
print('保存完成')
```
在这个例子中,我们首先打开csv文件并创建一个csv.reader对象。然后,我们通过使用zip函数将列数据转置为行数据,并进行迭代。每次迭代时,我们使用enumerate函数获取列的索引,并使用f字符串制定一个唯一的文件名。然后,我们打开一个新的txt文件并将每个数据写入到文件中。
请将上述代码保存到一个.py文件中,并将data.csv替换为您自己的csv文件名。然后,运行该文件,它将逐列保存为column1.txt、column2.txt等等。
希望这可以帮助到您!
### 回答3:
要使用Python读取CSV文件并逐列保存到txt文件,你可以按照以下步骤进行操作:
1. 首先,你需要导入csv模块和os模块,以便处理csv文件和创建保存txt文件的文件夹。
```python
import csv
import os
```
2. 下一步是打开csv文件并创建一个csv读取器。
```python
with open('example.csv', 'r') as file:
reader = csv.reader(file)
```
3. 通过遍历读取器中的每一行,然后将每列的值保存到对应的txt文件中。你可以使用enumerate函数来获得每一列的索引和值。
```python
for idx, column in enumerate(zip(*reader)):
with open(f'column_{idx}.txt', 'w') as txt_file:
for value in column:
txt_file.write(value + '\n')
```
4. 在保存txt文件之前,确保创建保存txt文件的文件夹。
```python
if not os.path.exists('txt_files'):
os.makedirs('txt_files')
```
这样,你就能够使用Python读取CSV文件并逐列保存到txt文件。请记得将'example.csv'替换为你想要读取的实际CSV文件的路径和文件名。并且,在运行代码之前,确保在代码所在目录下有足够的权限来创建保存txt文件的文件夹。最终,输出的txt文件将保存在'txt_files'文件夹中,每个txt文件的命名方式为'column_x.txt',其中x是列的索引。
阅读全文