python 读取一个文件夹中的多个txt文件写入csv的某列
时间: 2023-04-05 13:03:27 浏览: 75
可以使用Python的os和csv模块来实现。首先,使用os模块中的listdir()函数获取文件夹中所有的txt文件,然后使用csv模块中的writerow()函数将每个txt文件的内容写入csv文件的某一列。以下是示例代码:
```python
import os
import csv
# 设置文件夹路径和csv文件路径
folder_path = 'path/to/folder'
csv_path = 'path/to/csv'
# 获取文件夹中所有的txt文件
txt_files = [f for f in os.listdir(folder_path) if f.endswith('.txt')]
# 打开csv文件并创建csv写入器
with open(csv_path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
# 遍历每个txt文件并将其内容写入csv文件的某一列
for txt_file in txt_files:
with open(os.path.join(folder_path, txt_file), 'r') as f:
content = f.read()
writer.writerow(['', '', content, ''])
```
在上面的代码中,我们使用了空字符串来占位csv文件的其它列。你可以根据需要修改这些占位符。
相关问题
python读取多个txt文件的第二列写入csv文件
以下是一个将多个txt文件的第二列写入csv文件的Python代码示例:
```python
import os
import csv
# 定义读取txt文件的函数
def read_txt_file(file_path):
with open(file_path, 'r') as f:
lines = f.readlines()
data = []
for line in lines:
# 分割每一行数据,取第二列
data.append(line.strip().split()[1])
return data
# 定义写入csv文件的函数
def write_csv_file(file_path, data):
with open(file_path, 'w', newline='') as f:
writer = csv.writer(f)
for item in data:
writer.writerow([item])
# 定义主函数
def main():
# 设置txt文件夹路径和csv文件路径
txt_dir_path = 'txt_files/'
csv_file_path = 'result.csv'
# 获取txt文件夹下所有txt文件名
txt_file_names = [f for f in os.listdir(txt_dir_path) if f.endswith('.txt')]
# 读取每个txt文件的第二列数据,并存入列表
data_list = []
for txt_file_name in txt_file_names:
txt_file_path = os.path.join(txt_dir_path, txt_file_name)
data = read_txt_file(txt_file_path)
data_list.extend(data)
# 将数据写入csv文件
write_csv_file(csv_file_path, data_list)
if __name__ == '__main__':
main()
```
在此示例中,我们首先定义了一个`read_txt_file`函数,它接受一个txt文件路径作为参数,读取文件内容并返回第二列数据的列表。然后定义了一个`write_csv_file`函数,它接受一个csv文件路径和数据列表作为参数,将数据写入csv文件。最后,我们定义了一个主函数,它将txt文件夹中的所有txt文件的第二列数据读取到一个列表中,然后将该列表写入csv文件。在实际使用中,您需要将`txt_dir_path`和`csv_file_path`变量设置为您自己的文件夹和文件路径。
python读取多个csv文件,并写入同一个csv中
这是一个技术性问题,可以回答。Python可以用pandas库中的read_csv()函数读取多个csv文件,然后使用pandas中的to_csv()函数将这些数据写入同一个csv文件。具体实现可参考以下代码:
```python
import pandas as pd
import os
# 设置csv文件夹路径
folder_path = 'your_folder_path'
# 获取csv文件夹下所有csv文件的文件名
file_list = os.listdir(folder_path)
# 将所有csv文件按顺序合并到一个DataFrame中
merged_data = pd.DataFrame()
for file_name in file_list:
if file_name.endswith('.csv'):
file_path = os.path.join(folder_path, file_name)
data = pd.read_csv(file_path)
merged_data = merged_data.append(data, ignore_index=True)
# 将合并后的数据写入同一个csv文件
merged_data.to_csv('merged_data.csv', index=False)
```
其中,your_folder_path需要替换为实际的csv文件夹路径。