python将txt格式的数据,对每一行去掉分隔符并转化为csv文件
时间: 2024-01-22 11:17:44 浏览: 23
可以使用Python内置的csv模块来实现。代码示例如下:
```python
import csv
# 读取txt文件
with open('data.txt', 'r') as txt_file:
lines = txt_file.readlines()
# 去掉每行的分隔符
lines = [line.strip() for line in lines]
# 写入csv文件
with open('data.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
for line in lines:
row = line.split(',') # 假设分隔符为逗号
writer.writerow(row)
```
这段代码将读取名为data.txt的文件,并将每行的分隔符去掉,然后将其写入名为data.csv的csv文件中。你需要将分隔符的类型改为你的txt文件中使用的分隔符。
相关问题
python将分隔符为::的txt文件转化为csv
可以使用Python的csv模块来将分隔符为"::"的txt文件转化为csv格式的文件。下面是一个示例代码:
```python
import csv
with open('input.txt', 'r') as infile, open('output.csv', 'w', newline='') as outfile:
reader = csv.reader(infile, delimiter='::')
writer = csv.writer(outfile)
for row in reader:
writer.writerow(row)
```
其中,`input.txt`是要转化的txt文件名,`output.csv`是转化后的csv文件名。在`csv.reader()`函数中,设置分隔符为"::",然后逐行读取txt文件中的数据,再使用`csv.writer()`函数将每行数据写入到csv文件中。注意要在打开`output.csv`文件时指定`newline=''`参数,否则在Windows系统下可能会出现行末多一个空行的问题。
用python将我文件夹内的txt文件批量转化为csv,txt文件已用;分隔符分开
以下是一个示例代码,可以用Python将文件夹内的txt文件批量转换为csv格式,txt文件已用;分隔符分开:
```python
import os
import csv
# 定义函数将txt文件转换为csv文件
def txt_to_csv(txt_file, csv_file, delimiter):
with open(txt_file, 'r') as txt, open(csv_file, 'w', newline='') as csv_file:
writer = csv.writer(csv_file, delimiter=delimiter)
for line in txt:
writer.writerow(line.strip().split(delimiter))
# 定义函数批量转换文件夹内的txt文件
def batch_txt_to_csv(folder_path, delimiter):
# 遍历文件夹内的txt文件
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
# 构造txt文件和csv文件的路径
txt_file = os.path.join(folder_path, filename)
csv_file = os.path.join(folder_path, filename[:-4] + '.csv')
# 调用txt_to_csv函数将txt文件转换为csv文件
txt_to_csv(txt_file, csv_file, delimiter)
print(f'{filename} 转换完成!')
# 调用函数批量转换txt文件
folder_path = 'your_folder_path'
delimiter = ';'
batch_txt_to_csv(folder_path, delimiter)
```
在这个示例中,我们在txt_to_csv()函数中添加了一个delimiter参数,用于指定txt文件中的分隔符。在调用txt_to_csv()函数时,我们将delimiter参数传递给csv.writer()构造函数和split()方法。在调用batch_txt_to_csv()函数时,我们将分隔符';'作为delimiter参数传递给函数。您可以根据实际情况选择不同的分隔符。
请注意,在将txt文件转换为csv文件时,您需要根据txt文件的编码方式选择正确的打开方式。如果txt文件的编码方式为UTF-8,则使用'utf-8'作为打开方式;如果txt文件的编码方式为GB2312,则使用'gb2312'作为打开方式。