【发布时间】:2016-08-02 02:46:00
【问题描述】:
我正在尝试从如下所示的 CSV 文件中读取“成绩单文本”列 -
Order,LearningID,Gender,Race,College, ID ,B,Transcript Text
1,T66666666B,Male,UNKNOWN,AMC,122333444,,(BEGIN INTERVIEW)
6,T77777777B,Male,UNKNOWN,AMC,133333333,,INTERVIEWER: CTVA's your major?
7,T88888888B,Male,UNKNOWN,AMC,144444444,,"STUDENT: Yes, that's right."
我的代码读取列号。 7(成绩单文本)看起来像这样 -
import csv
file_csv = open("test.csv", newline='')
csv_reader = csv.reader(file_csv, delimiter=',', quotechar='|')
txt_string =''
common_words = ['mmhmm', 'interposing', 'xblank']
for i, v in enumerate(csv_reader):
print (i)
print(v[7])
txt_string += v[7]
file_csv.close()
现在当我遍历这个时,它会跳过一些值,而不是打印 v[7](column - transcript text) 的所有值。奇怪的是,计数器值也不会被打印出来。
输出看起来像这样 -
0
Transcript Text
3
STUDENT: Yes, that's right.
我已确保使用 utf-8 选项 MS Excel 保存 csv,我也尝试将编码设置为 utf-8。
file_csv = open("test.csv", newline='', encoding ='utf-8')
但是没有任何效果。而且非常奇怪的是,每次我运行它时,结果都是不稳定的,即打印了一些以前没有打印的行。
这可能是什么问题? (使用 Python 3.5,我使用的实际 csv 文件大约有 25k 行。
【问题讨论】:
-
你使用的是什么操作系统?
-
你能显示你的 csv 文件的前 2-3 行吗?
标签: python excel csv encoding utf