我有以下问题:
我想将制表符分隔的文本文件转换为csv文件。文本文件是SentiWS字典,我想将其用于情感分析(https://github.com/MechLabEngineering/Tatort-Analyzer-ME/tree/master/SentiWS_v1.8c)。
我用来执行此操作的代码如下:
txt_file = r"SentiWS_v1.8c_Positive.txt"
csv_file = r"NewProcessedDoc.csv"
in_txt = csv.reader(open(txt_file, "r"), delimiter = '\t')
out_csv = csv.writer(open(csv_file, 'w'))
out_csv.writerows(in_txt)
Run Code Online (Sandbox Code Playgroud)
这段代码将所有内容写在一行中,但我需要将数据按照文件本身通常的意图放在三行中。每个数据下方也有一个空白行,我不知道为什么。
我希望数据采用以下形式:
ROW1 行2 ROW3
字数据字
字数据字
代替
第1行
单词,数据,单词
单词,数据,单词
谁能帮我?
小智 5
import pandas
Run Code Online (Sandbox Code Playgroud)
它将制表符分隔符文本文件转换为数据框
dataframe = pandas.read_csv("SentiWS_v1.8c_Positive.txt",delimiter="\t")
Run Code Online (Sandbox Code Playgroud)
将数据框写入CSV
dataframe.to_csv("NewProcessedDoc.csv", encoding='utf-8', index=False)
Run Code Online (Sandbox Code Playgroud)
尝试这个:
\n\nimport csv\n\ntxt_file = r"SentiWS_v1.8c_Positive.txt"\ncsv_file = r"NewProcessedDoc.csv"\n\nwith open(txt_file, "r") as in_text:\n in_reader = csv.reader(in_text, delimiter = \'\\t\')\n with open(csv_file, "w") as out_csv:\n out_writer = csv.writer(out_csv, newline=\'\')\n for row in in_reader:\n out_writer.writerow(row)\n
Run Code Online (Sandbox Code Playgroud)\n\n每个数据下还有一个空行,我不知道为什么。
\n\n您可能正在使用在基于 Windows 的文本编辑器中创建或编辑的文件。根据Python 3csv
模块文档:
\n\n如果
\nnewline=\'\'
未指定,则嵌入在引用字段中的换行符将无法正确解释,并且在写入时使用衬线的平台上将添加\\r\\n
额外的换行符。\\r
指定应该总是安全的newline=\'\'
,因为 csv 模块有自己的(通用)换行符处理。
归档时间: |
|
查看次数: |
6467 次 |
最近记录: |