如何利用pyrhon脚本输出txt文件和csv文件的相同数据,并将其输出为txt文件?

如题所述

第1个回答  2023-07-24
你的问题是不是问:
如何利用python脚本输入txt文件和csv文件,其中txt文件和csv文件如果的数据是相同,并相同的数据字段输出为txt文件?
import csv
# 读取txt文件
with open('input.txt', 'r') as txt_file:
txt_data = txt_file.readlines()
# 读取csv文件
with open('input.csv', 'r') as csv_file:
csv_data = list(csv.reader(csv_file))
# 获取txt文件和csv文件中相同的数据字段
common_fields = list(set(txt_data) & set(csv_data[0]))
# 输出相同数据字段的数据到txt文件
with open('output.txt', 'w') as output_file:
for line in csv_data:
common_data = [data for data in line if data in common_fields]
output_file.write('\t'.join(common_data) + '\n')
在上述代码中,我们首先使用 open() 函数读取txt文件和csv文件的内容。然后,我们使用 csv.reader() 函数将csv文件内容解析为列表。接下来,我们使用 set() 函数和 & 运算符获取txt文件和csv文件中相同的数据字段。最后,我们将相同数据字段的数据写入到输出txt文件中。

请确保将 input.txt 和 input.csv 替换为您实际的文件名,并在输出txt文件时指定所需的文件名。
第2个回答  2023-07-24
你可以使用 Python 的内置模块来实现输出相同数据到 txt 文件和 csv 文件,并将其输出为 txt 文件。以下是一个示例代码:
```python
import csv
# 准备数据
data = [['Name', 'Age', 'City'],
['John', '25', 'New York'],
['Alice', '30', 'London'],
['Bob', '20', 'Paris']]
# 输出为 txt 文件
with open('data.txt', 'w') as txt_file:
for row in data:
txt_file.write('\t'.join(row) + '\n')
# 输出为 csv 文件
with open('data.csv', 'w', newline='') as csv_file:
csv_writer = csv.writer(csv_file)
csv_writer.writerows(data)
# 将 csv 文件内容转存到 txt 文件
with open('data.csv', 'r') as csv_file, open('data_output.txt', 'w') as txt_output:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
txt_output.write('\t'.join(row) + '\n')
```
以上代码将数据保存为名为 `data.txt` 的 txt 文件和名为 `data.csv` 的 csv 文件。然后,它将从 csv 文件中读取内容,并将相同的数据保存到名为 `data_output.txt` 的 txt 文件中。你可以根据自己的需求修改文件名和路径。
相似回答
大家正在搜