Я студент второго курса EE. Я только начал изучать python для своего проекта.разобрать файл csv в текстовый файл
Я намерен разобрать CSV-файл с форматом, как
3520005,"Toronto (Ont.)",C ,F,2503281,2481494,F,F,0.9,1040597,979330,630.1763,3972.4,1
2466023,"Montréal (Que.)",V ,F,1620693,1583590,T,F,2.3,787060,743204,365.1303,4438.7,2
5915022,"Vancouver (B.C.)",CY ,F,578041,545671,F,F,5.9,273804,253212,114.7133,5039.0,8
3519038,"Richmond Hill (Ont.)",T ,F,162704,132030,F,F,23.2,53028,51000,100.8917,1612.7,28
в текстовый файл, как в следующем
Торонто 2503281 Монреаль 1620693 Ванкувер 578041
Я извлекая 1-й и 5-й столбец и сохраните его в текстовом файле.
Это то, что у меня есть до сих пор.
import csv
file = open('raw.csv')
reader = csv.reader(file)
f = open('NicelyDone.text','w')
for line in reader:
f.write("%s %s"%line[1],%line[5])
Это не работает для меня, я был в состоянии извлечь данные из файла CSV в строке [1], строка [5]. (Я могу распечатать его) Но я не знаю, как записать его в .text-файл в том формате, который мне нужен.
Кроме того, я должен обработать первый столбец, например, «Торонто (Онт.)» В «Торонто». Я знаком с функцией find(), я предполагаю, что я мог извлечь Toronto из Торонто (Ont.), Используя «(« как символ остановки, , но основываясь на моих исследованиях, я понятия не имею, как его использовать и попросить его вернуть мне строку (Торонто)
Вот мой вопрос:.?
- Что такое формат данных для
line[1]
- Если это строка, как прийти
f.write()
не работает - Если это не строка, как ее преобразовать к строке?
- Если это строка, как прийти
- Как я извлечь слово
Toronto
изToronto(Ont)
в виде строки, используяfind()
или другие методы.
Мое мышление состоит в том, что я мог бы добавить эти две строки вместе, как c = a+ ' ' + b
, что дало бы мне формат, который я хотел. Поэтому я могу использовать f.write()
для записи в файл :)
Извините, если мои вопросы звучат слишком просто или глупо.
Благодаря вперед
Zhen