将文本的输出结果存到CSV文件

最近遇到一个问题,需要将文本数据存到csv文件中,需要解决以下两个小问题

1.文本直接存到CSV中会乱码掉,主要是因为Python和csv之间encode转换之间的问题,具体代码见批注。

#把输出结果写到CSV文件
#-*- coding: utf8 -*-
import csv,codecs
f = codecs.open("xx.csv", 'wb', "gbk")    #控制乱码
writer = csv.writer(f)
writer.writerows((datas))
f.close()

 2.存到CSV文件中会把每一个字都分隔开,而我想要达到的效果是CSV的每一行的第一个单元格存放的是我的一条评论。contents是之前处理好的放评论的list。

对于数据的处理如下:

datas = [[contents[0]],
        [contents[1]],
        [contents[2]],
        [contents[3]],
        [contents[4]],
        [contents[5]],
        [contents[6]],
        [contents[7]],
        [contents[8]],
        [contents[9]]]

每一个content里面存的是一条具体评论。注意一定要加上两层“]]”中括号,不然又会每个字段分隔开,如果大家有更简单的处理方式 ,欢迎大家一起交流学习!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,您可以使用 pandas 库中的 read_csv() 和 to_csv() 方法将文本文件转换为 CSV 文件。read_csv() 方法可以将文本文件读取为 DataFrame 对象,而 to_csv() 方法可以将 DataFrame 对象输出CSV 文件。示例代码如下: ```python import pandas as pd # 读取文本文件为 DataFrame 对象 df = pd.read_csv('data.txt', sep='\t') # 将 DataFrame 对象输出CSV 文件 df.to_csv('data.csv', index=False) ``` 这里的 `data.txt` 是您要转换的文本文件名,`sep='\t'` 参数表示文本文件中各字段之间使用制表符分隔。如果您的文本文件中使用逗号或其他分隔符分隔字段,可以将 `sep` 参数设置为对应的分隔符。 在上面的示例代码中,我们首先使用 `pd.read_csv()` 方法将文本文件 `data.txt` 读取为 DataFrame 对象 `df`。接着,我们使用 `df.to_csv()` 方法将 DataFrame 对象 `df` 输出CSV 文件 `data.csv`。`index=False` 参数表示在输出 CSV 文件时不包含行索引。 除了以上方法之外,如果您的文本文件格式比较简单,也可以使用 Python 内置的 csv 模块来读取和写入 CSV 文件。使用 csv 模块读取和写入 CSV 文件的示例代码如下: ```python import csv # 读取文本文件为列表 with open('data.txt', 'r') as f: reader = csv.reader(f, delimiter='\t') data_list = [row for row in reader] # 将列表输出CSV 文件 with open('data.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(data_list) ``` 在上面的示例代码中,我们首先使用 `csv.reader()` 方法读取文本文件 `data.txt` 中的数据,并将其存储为一个列表 `data_list`。然后,我们使用 `csv.writer()` 方法将列表 `data_list` 输出CSV 文件 `data.csv`。`newline=''` 参数表示在输出 CSV 文件时不使用额外的换行符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值